disk grinding at daily intervals:
updatedb -used by locate & slocate- indexes your system -except your pruned paths and FS's- everyday
> that is all files that changed, quite similar to windoze & osx file indexing
it's a default setting in debian ( and so also in ubuntu )
the cron job is in cron.daily > and so runs daily at a fixed time.
you most likely installed apache2 prefork
if it's serving dynamic pages ( php & the likes )
then each process ( depending on loaded apache modules ) is 15-32MB ( with me it's about 30MB on average )
if it's static pages then only a couple of MB are needed.
apache2 has a bad default setting ( big iron ) that spawns a couple of processes and keeps a couple in reserve.
following is important
the default MaxClients=150 setting.. when busy it will keep spawning processes until this maximum is reached ... in other words if your serving dynamic pages and have a busy server > worst case scenario is that apache will use 150x32MB = 4.8GB....
you can test this by refreshing a page it serves very fast ( tap the F5 key very fast for a minute )... your server will almost certainly die/ lock up in front you ....
a good reasonable setting for the couple of hundred pages your serving daily is
and look for following
sudo vim /etc/apache2/apache2.conf
a little lower you have the settings for the apache worker module .. just ignore those ( they're there for SMP machines with apache2 worker installed, full explanation of this is a little of topic )
I suggest changing previous into something like this... ( a save setting I use on low memory machines ).
now apache will spawn maximum 6 processes > worst case 6*32MB= 192MB ... if you don't use MYSQL then 256MB ram will just do....
a little bit above that you have the KeepAliveTimeout parameter, change it to