New on quietlinux
You can now disable Root Certificate generation in CUPS.
why?
- I have an old laptop in my bedroom. It serves as print server and
gateway to a wireless (802.11) network. I want it to be quiet.
- I have a laptop at work. When I do not use it, I want it to be quiet.
I set the disk spin-down to 2 minutes with hdparm.
I would like to set it up so that after boot it only starts the
disk if the computer us used: When I am printing the printer makes
noise anyway and usually I do not print while sleeping.
What I would really like is for Linux distributions to add a way to
configure this. When you install Linux you should get the question:
"should this computer minimize disk access?".
Problematic Programs
syslog
Prints "-- MARK --" in log files every 20 minutes.
Solution
Start syslogd with "-m 0" option. Edit /etc/init.d/syslog
modprobe
modprobe may search /lib/modules/kernelver/ for a nonexisting module every minute.
Solution 1
Look in /var/log/ksymoops/20020702.log (subsitute correct date)
20020702 161032 start /sbin/modprobe -s -k -- char-major-6 safemode=1
This was because i was running the "lpd" daemon without support for a parallel port.
Solution 2
Compile everything into the kernel and do not run modprobe (modutils)
ntp
ntp
use /var/lib/ntp/ntp.drift
and /var/log/ntpstats/loopstats
To minimize disk access increase the time between polls increase
minpoll
for each server:
server clock.server.com minpoll 16 maxpoll 17
Solution
I do not really need ntp so I use ntpdate instead.
Wish list
A --quiet
option to ntpd that disable drift files and stats.
CUPS
CUPS write a SSL certificate to /etc/cups/ssl/server.crt every 5 minutes.
It read /etc/groups every time so making /etc/cups/certs a link to a RAM disk does not work.
Solution 1
Get the source. In scheduler/main.c change the 300 in
if ((time(NULL) - RootCertTime) >= 300)
to something bigger or remove the if statement.
Solution 2: RootCertDuration
If you have CUPS version 1.1.16 or newer you can add the following to /etc/cups/cupsd.conf:
RootCertDuration 0
This directive was on our wish list, good.
cron
runs a lot of things too often.
Solution
Remove everything you do not need from /etc/cron.d/, /etc/crontab, and /etc/cron.daily. See mail
I changed /etc/crontab so that /etc/cron.daily is run every week and
/etc/cron.weekly is run every month.
Wish list
A --wait-for-disk option to cron.
This would make cron wait for the next disk access before starting anything.
Ftp servers typically access /etc/{passwd,hosts,group}, user home directories etc.
Solution muddleftp and tmpfs
Create a tmpfs partition, run muddleftpd.
You have to set up muddleftpd using /etc/muddleftpd.com in the followin way:
- Set logfile and scratch file to something on the tmpfs partition
- Set "rdnstimeout 0" in main section to disable reverse DNS lookup.
- Set "uid" and "gid" in localusers section to disable access til /etc/passwd and /etc/group
- Set "authmethod internal" and "internal_passfile /fileontmpfs/" in localuser section.
- Password file is created with mudpasswd. Set root directory to something on the tmpfs
- The password file is copied to the tmpfs when muddleftp is started. This can be done in /etc/init.d/muddelftpd (Debian)
A muddleftpd.conf for ONE user (luser).
Netscape 4.7 writes to its cache index even when not used. Opera touches the disk when it replaces the ads (free version).
Solution
Kill or suspend browsers when you do not use them.
MTA's (sendmail, exim, postfix, etc) is sometimes run every 15 minutes from /etc/cron.d/MTA, where "MTA" is the name of your MTA.
Check /etc/init.d/MTA to see if an MTA is started that checks the spool files at intervals. This is probebly done with a "-q time" (eg "-q 1h22m") option.
Solutions
You probably do not need this:
remove the "/etc/cron.d/MTA" file or the "-q" option in /etc/init.d/MTA.
updatedb
runs find, etc. every day to update the database used by "locate"
Solution
Uninstall updatedb or remove /etc/cron.daily/find
If you need the "locate" command, just run "updatedb" as root manually once in a while.
Other Hints
Mount file-systems with "noatime"
If you mount a file-system with option, "noatime" the inode access times will not be updated. This means that if a cached file or directory is read, the disk will not spin up.
Put it in you /etc/fstab
file:
/dev/hda3 /home ext2 defaults,noatime 0 0
Noflushd
noflushd is a deamon that spins
idle disks down and then blocks further writes to the disk to prevent it from
spinning up again. It does not work well with journaling file systems.
Finding the culprits
As part of the DIKU Linux kernel course a patch to the kernel 2.4.18 was developed.
The patch makes the kernel log all file operations. It logs PID, command name, filename etc.
Get the patch here.
This User mode program turns logging on and off.
Compile as "cc -o do_noisy_logging -I /usr/src/linux/include do_noisy_logging.c"
run as "./do_noisy_logging 0" or "./do_noisy_logging 1"
Links
This
work is licensed under a Creative Commons
Attribution 2.5 License.
Niels Elgaard Larsen elgaard@diku.dk