[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: HD spindown and fs cache writeback



Hi,
	I own a TP310 with Slink and some updates installed on it. It only
has 16Mb RAM,  so disk buffers aren't large and I cannot disable swap
space. However, I (eventually) got it to let its hard disk alone,
thus allowing it to spin it down.
Here is what I did:

> 	*  set noatime on filesystems where you don't care about it anyway
> 	*  use "mobile-update"

Here is what  I did not (yet) do because it proved unnecessary for the
moment:

> 	*  make sure you're not syslogging things you don't care about
> 	*  use "noflushd"
> 	*  if there's some process named "sync" murder it and see where
> 	   its options are found so you can tweak them
> 	*  Use "hdparm" to advise your disk controller directly that it's
> 	   okay to sleep at more desirable intervals.
For the last one, the BIOS setup screen is quite powerful, and sets
sensible values. No "sync" process over here, I even wonder if I ever saw
one once in my linux lifetime...
I do not use noflushd, but mobile-update achieves its work quite very
well.

Additionnaly, I removed 'cron' (I didn't need it) but kept 'atd' (which
stays quiet anyway), and told VI and others not to keep in sync with
files, so that the hard disk can spin down during the edition of a file.

Unfortunately, I could not find any way to stop the disk activity when a
program maps in read-write mode a file onto memory (GIMP, netscape cache, 
and so on).

In general, I would advise to remove from memory any program that uses to
wake up from times to times, because in many cases is gets paged out
(thrown to swap-space) in the meantime, and thus has to be paged in each
time it wakes up. The problem doesn't arise for systems  without swap, of
course, but as these programs (cron, apmd, atd and so on) also use to
access file when they wake up, the result is the same.

The ideal solution would be to configure programs for minimal disk access,
and remove file-to-memory mapping from hard disks. Unfortunately, unix
systems use memory maps for nearly every executable loaded, so this is
impossible...

Good luck though,
raph



Reply to: