About
mlocate is a new locate implementation. The ‘m’ stands for “merging”:
updatedb reuses the existing database to avoid rereading most of the file
system, which makes updatedb faster and does not trash the system caches as
much.
The locate(1) utility is intended to be completely compatible to slocate.
It also attempts to be compatible to GNU locate, when it does not conflict
with slocate compatibility.
Availability
mlocate tarballs are available at
fedorahosted.org.
Current version: 0.26
mlocate is also included in Fedora Core 6 and later.
Bugs
Please consider reporting the bug to your distribution’s bug tracking system.
Otherwise, report bugs at https://fedorahosted.org/mlocate/. Bug reports with patches are especially welcome.
Performance
These measurements were obtained with mlocate-0.12 and slocate-2.7.
Each time, a computer was booted into
single-user mode and after one updatedb run data was collected using
slabtop and free. The measurement method is admittedly crude,
but I think the numbers represent reality quite well.
| Run: | real | user | system | dentry | inode | buffers | cached |
|---|---|---|---|---|---|---|---|
slocate | 1m32.84 | 0.704 | 2.045 | 134337 | 170778 | 85972 | 8268 |
mlocate, 1st | 1m11.65 | 0.214 | 0.908 | 17766 | 15642 | 78452 | 21340 |
mlocate, 2nd | 37.64 | 0.105 | 0.289 | 17776 | 15639 | 33996 | 21336 |
- real, user, system
- as reported by
time - dentry, inode
- number of active objects in
dentrycacheandext3inode_cache, as reported byslabtop - buffers, cached
- size of disk buffers and page cache, as reported by
free
mlocate has two rows because the first run needs to scan the whole
file system, while the subsequent runs can reuse most of the original
database.
Pingback: 狗爺語錄 » Blog Archive » 原來 ubuntu server 是這麼一回事
Pingback: newslife site » lottalinuxlinks.com linux user podcast 99
Pingback: » Running mlocate on Mac OS X » Blog Archive » international geographic
Pingback: Finding Files with locate | Yet Another Linux Blog
Pingback: Finding Files with locate | Boomeroo Web Resources
Pingback: mlocate: una nueva implementación de locate « Debianeando
Pingback: Ubuntu server cron jobs « nelsonslog
Hi Miloslav,
Would it be reasonably feasible to add file date and size in the locate database?
Cheers,
Alexandre
I’m afraid geting file data and size would require a stat() system call for each file, and it would be impossible to merge data from the previous database; the overall performance impact would be too high.
mlocate should include this fs in PRUNEFS: s3fs and fuse.s3fs
mlocate itself does not ship a configuration file, please report this in the bug tracker of your distribution.
Quick question about updatedb’s very deep hiearchy test. The path generated goes way past PATH_MAX, which causes problems with gentoo’s sandbox. To work around this I shortened the names of the directories generated to just a number, which allows the same number of directories but all with shorter names. Is this an acceptable solution, or does it defeat the purpose of the test? Thanks, Brennan
Well, it does defeat the purpose of the test, but building a secure user-space sandbox that doesn’t limit path length to PATH_MAX may be really difficult.
Considering that the “real” version of the test must have succeeded before building a release tarball, limiting the test in a sandbox is a fairly reasonable approach in this case.
Pingback: Wheezy, GNOME 3.4, search for files from GNOME-shell w/ indexing
Pingback: mlocate: una nueva implementación de locate