I have noticed that my OpenSuSE 11 x86_64 based laptop with KDE 3.5.9 sports too much HDD activity when it is idle (not even screensaver running). The majority of activities are short “bursts” with same sound pattern, occurring mostly with up to 15 seconds between the two, sometimes up to 45 seconds between two “bursts”.
I tried to track disc activity with echo 1 > /proc/sys/vm/block_dump previously shutting down the syslog to avoid block_dump logging itself.
I found that for majority of frequent bursts the reason is convergence of various regular tasks that happen at once or close together, like postfix mail checking (pickup), wifi logging WPA key update, critical firewall logs, nscd re-caching user tables, etc… Augmented with loads of kjournald writes after any such activity.
Configuring all those to happen less often, and mounting the partitions with noatime (/tmp, root) or relatime (/home and /var) flags, I found that disc activity diminished only a bit, but still persisted with up to few “bursts” per minute. The same block_dump above showed that the reason is in frequent pdflush writes to disk followed by a lot of kjournald writes.
I can understand kjournald writes happening after every change on disk, but I don’t understand the frequent pdflush activity when the computer is idle! I tried to hunt down which inodes belong to blocks being written (to find which files are updated), but I could not find any. I tried that using debugfs icheck, but it failed to find any inodes in the blocks. Maybe I misunderstood the numbers reported by block_dump as block number?
I booted Suse into runlevel 3 and the pdflush writes are not present there, leading me to believe either KDE or Xorg is doing something that warrants frequent pd flushes.
Does anyone have any experience with this? How do I tune this and more importantly, how can I track what exactly is being written to disc with those writes? Thanks.