I have a basic cloud-based server that is only used here and there for testing. Since I installed New Relic (yesterday) it has reported high Disc I/O and high CPU problems (>90%) every 8 hours for a total of 25 minutes (approx.) each time.

New Relic seems to show these issues:

(a) very high CPU issue with "find (root)"
(b) high usage of dev/xvda1

My server provider doesn't know what the issue is as they see nothing at their end.

  • My logs show zero usage - no visitors at the time.
  • There are no issues with PHP/Apache on that server (according to New Relic).
  • Some security tests show the server isn't compromised.

What does all this mean? Is there anything I need to do at my end?

  • cron job running every 8 hours? – ETL Feb 13 '14 at 21:51

(a) very high CPU issue with "find (root)"

This is likely the update scripts rebuilding the locate database, or some other script scanning through your disk for whatever reason. If you type ps auxwwf when the problem is happening, then you can see the process tree; look for the 'find' process which is causing the issue and then see what's running it (probably something like 'updatedb').

| improve this answer | |

Dan is (was) most likely correct. I used this post and another to solve my problem,

I have a VMWare Linux Mint 17.1 that has a similar issue. A few minutes after it is started 90-100% of the CPU is consumed for 15 or so minutes--it has a rather large shared directory that has a lot of genetic data in it.

I used top to get the find process id (12788). Since it was consuming all CPU power, it was the first line on top. One difference here is that the offending process was owned by "nobody".

Then I ran ps -auxwwf and found this tree--notice the find command on the last line.

root      1334  0.0  0.0  12780   960 ?        Ss   07:15   0:00 anacron -s
root     12676  0.0  0.0   4440   652 ?        S    07:20   0:00  \_ /bin/sh -c run-parts --report /etc/cron.daily
root     12677  0.0  0.0   4332   648 ?        S    07:20   0:00      \_ run-parts --report /etc/cron.daily
root     12749  0.0  0.0   4440   652 ?        S    07:20   0:00          \_ /bin/sh /etc/cron.daily/locate
root     12754  0.0  0.0   4440   744 ?        SN   07:20   0:00              \_ /bin/sh /usr/bin/updatedb.findutils
root     12762  0.0  0.0   4440   336 ?        SN   07:20   0:00                  \_ /bin/sh /usr/bin/updatedb.findutils
root     12788  0.0  0.0  86152  2384 ?        SN   07:20   0:00                  |   \_ su nobody -s /bin/sh -c /usr/bin/find / -ignore_readdir_race      \( -fstype NFS -o -fstype nfs -o -fstype nfs4 -o -fstype afs -o -fstype binfmt_misc -o -fstype proc -o -fstype smbfs -o -fstype autofs -o -fstype iso9660 -o -fstype ncpfs -o -fstype coda -o -fstype devpts -o -fstype ftpfs -o -fstype devfs -o -fstype mfs -o -fstype shfs -o -fstype sysfs -o -fstype cifs -o -fstype lustre_lite -o -fstype tmpfs -o -fstype usbfs -o -fstype udf -o -fstype ocfs2 -o      -type d -regex '\(^/tmp$\)\|\(^/usr/tmp$\)\|\(^/var/tmp$\)\|\(^/afs$\)\|\(^/amd$\)\|\(^/alex$\)\|\(^/var/spool$\)\|\(^/sfs$\)\|\(^/media$\)\|\(^/var/lib/schroot/mount$\)' \) -prune -o -print0

I do not have rpm installed, so I used the Synaptic Package Manager GUI and searched for "updatedb" in package and name. The only package installed with updatedb was "locate". I then removed the locate package.

Another good answer with command line tools is on Unix Stack Exchange about disabling locate/updatedb

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.