I have a Linux server running under Debian Lenny with 4Go of RAM. It doesn't run much, just:
- Postfix/spamassassin (daemon mode)
- Bind9
- KVM (one guest - 1Go of RAM for it)
Every day at exactly 3:05 UTC, the server completely drop to ground floor almost all of its memory. After that, I have more than 2G used by buffer and never cleaned up (unless I manually tell the kernel to drop the cache).
I'v searched the web a lot and, at the begining, I though this was due to NFS buffer usage. I do backups over an NFS share drive using gzip/tar and the backup occured at 3:05.
However, I'm now in a very strange situation because I moved the backup task at 1:40 (it completes in 2 mins) and I still drop all the RAM at 3:05.
In my logs, nothing particular, except that at 03:05:01, cron open a session as root and immediately close it at 03:05:02 without doing anything. Of course, cron has been restarted and I checked the timing of the tasks - again, nothing particular.
Any idea why this happens? Or, any idea about how to track what's using all those buffers?
Edit: The server is running in UTC, all times here are UTC. It's not running any NFS server and I don't have mlocate or slocate installed. For the crontab, daily and user crontabs, nothing is done at that hour.
Here's the interesting part in my logs about cron:
auth.log-20110501:May 1 03:05:01 SRV CRON[15914]: pam_unix(cron:session): session opened for user root by (uid=0)
auth.log-20110501:May 1 03:05:01 SRV CRON[15914]: pam_unix(cron:session): session closed for user root
syslog-20110501:May 1 03:05:01 SRV /USR/SBIN/CRON[15915]: (root) CMD ([ -x /usr/lib/sysstat/sa1 ] && { [ -r "$DEFAULT" ] && . "$DEFAULT" ; [ "$ENABLED" = "true" ] && exec /usr/lib/sysstat/sa1 $SA1_OPTIONS 1 1 ; })
makewhatis
/man-db
andslocate
/mlocate
do a lot of disk access. – Mikel May 01 '11 at 02:48