Comment 76 for bug 607560

Revision history for this message
EugeneI (eugenestm) wrote :

Hello.

I made some posts in https://bugzilla.kernel.org/show_bug.cgi?id=42895 and once again it was decided that jbd2 is not to blame. Read explanation given by Jan Kara and Theodore Ts'o at the end.

Overall people from kernel.org have seen my "15 mins of idling" block_dump (see attachment in post 73, above) and consider it normal, so if you have something that looks vaguely similar then just try to configure your apps/system to have fewer writes. Use debugging tools (like block_dump) to determine what applications frequently write to disk.

Some programs which generate periodic writes on Xubuntu 11.10:
NOTE: it's on _my_ system - they may behave differently on yours.

System:
NetworkManager - every 5min writes into "timestamps" file.
xfconfd - every 10min, into "xfce4-panel.xml".

User:
Evince (every ~1min writes your current position in file) - try MuPDF - extremely light weight, fast and to the point; look for key bindings in man pages ("man mupdf"). But guess it reads only pdf.
Firefox (v.11) - constantly writes into places.sqlite (history, bookmarks) and cookies.sqlite databases along with their support files -shm and -wal. Also writes in "sessionstore" and DOM storage (java apps storage; some sites use it aggressively), and that's not counting cache.
Here some of my tweaks:
browser.sessionstore.interval - 15000 -> 120000 #This preference controls how often information about the current session (open tabs, e.t.c.) is saved to the profile. In ms (15000ms=15s).
dom.storage.enabled - true -> false #DOM apps storage (java scripts and apps); if enabled will update database file frequently on some sites. Should not affect browsing experience.
Disable history - Edit -> Preferences -> Privacy -> "Remember my browsing history" - Uncheck #Disables history for good (you can still use "back" and "forward" buttons). Otherwise firefox will write into history database on every url visited + ~every 1min (sometimes even when idle). Use bookmarks instead. Much faster! Noticeable fewer disk usage! (select Edit -> Preferences -> Privacy -> "When using the location bar, suggest:" - "Bookmarks").

Also I moved "mlocate" from "/etc/cron.daily" to backup directory. I prefer to run it manually from time to time (when needed):
sudo /usr/bin/ionice -c3 /usr/bin/updatedb.mlocate
NOTE: "locate" is very useful command if you want to find something quick. "find" will take some time to search whereas "locate" gives you results instantly because it searches in it's database and not on actual filesystem.

Also you may try to change relatime option (used by default) to noatime in fstab (add it at the end of options field, like this "errors=remount-ro,noatime"). It should lessen HDD usage a little. Because as "mount" man page state for relatime option:
... In addition, since Linux 2.6.30, the file's last access time is always updated if it is more than 1 day old ...
I.e. if file.txt atime is 2012.05.17 12:00 then on 2012.05.18 12:01 you can simply click on it in file manager to trigger atime change (and disk write). It's very actual for "find" command since during search it accesses lots of dirs (on average / partition it's more than 10000) and their atime gets changed.
You can see your currently used default options with "cat /proc/mounts", while "mount" can show your "/etc/mtab".

I come to believe that playing with commit=x is not advisable (at least if you're not behind UPS or on battery). You should try to hunt down apps which do disk IO instead. No IO by apps - no jbd2/flush activity.

Some debug instruments and techniques in the post below.