Re: Re: reiserfs do_journal_end unnecessary hd wake up?
From: BrÃulio Barros de Oliveira
Date: Thu Sep 04 2008 - 19:29:33 EST
hello mat, here comes the results of each action.
in all the process i've used the iotop (what a great utility you
pointed!), and always saw only the pdflush process acessing the hd. no
user interface were used.
the apm is set to 128 with hdparm
ok, then try the following:
you at least should have noatime,nodiratime,commit=600
:) that did the job! also, i've tested without the commit option,
which didn't changed the result.
enabled for the reiserfs or >=ext3 filesystems
you can also try data=writeback (but beware this might put your data at risk !)
* can't try
select the anticipatory i/o scheduler
and set following stuff
:( no change.
echo "16" > /proc/sys/vm/page-cluster
# default: 3
#
:( no change.
echo "60" > /proc/sys/vm/swappiness
# default: 60
# By default, Linux will aggressively swap processes out of physical memory onto
disk in order to keep the disk cache as large as possible.
# This means that pages that haven't been used recently will be pushed into swap
long before the system even comes close to running out of memory, which is an
unexpected behavior compared to some operating systems.
# The /proc/sys/vm/swappiness parameter controls how aggressive Linux is in this
area.
:( no change.
echo "3000" > /proc/sys/vm/dirty_expire_centisecs
# default: 3000 (30 seconds)
#2 how long data can be in the page cache before it is considered expired and
must be written at the next opportunity. Note that this default is very long: a
full 30 seconds. That means that under normal circumstances, unless you write
enough to trigger the other pdflush method, Linux won't actually commit anything
you write until 30 seconds later.
:( no change.
echo "6000" > /proc/sys/vm/dirty_writeback_centisecs
# default: 500 (5 seconds)
#1 how often pdflush wakes up to write data to disk. The default wakes up the
two (or more) active threads every five seconds.
# suggestion: 6000 (every 60 seconds)
:( no change.
echo "15" > /proc/sys/vm/dirty_background_ratio
# default: 10
#3 Maximum percentage of active memory that can be filled with dirty pages
before pdflush begins to write them
echo "50" > /proc/sys/vm/dirty_ratio #modified
# default: 40
#4 Maximum percentage of total memory that can be filled with dirty pages before
processes are forced to write dirty buffers themselves during their time slice
instead of being allowed to do more writes.
# modified: 50
echo "25" > /proc/sys/vm/vfs_cache_pressure
for i in /sys/block/sd*; do
/bin/echo "anticipatory" > $i/queue/scheduler
done
for i in /sys/block/sd*; do
/bin/echo "0" > $i/queue/iosched/antic_expire
done
for i in /sys/block/sd*; do
/bin/echo "150" > $i/queue/iosched/read_expire
done
for i in /sys/block/sd*; do
/bin/echo "750" > $i/queue/iosched/read_batch_expire
done
for i in /sys/block/sd*; do
/bin/echo "1200" > $i/queue/iosched/write_batch_expire
done
for i in /sys/block/sd*; do
/bin/echo "1024" > $i/queue/nr_requests
done
for i in /sys/block/sd*; do
/bin/echo "256" > $i/queue/read_ahead_kb
done
for i in /sys/block/sd*; do
/bin/echo "256" > $i/queue/max_sectors_kb
done
for i in /sys/class/scsi_host/host*; do
/bin/echo "min_power" > $i/link_power_management_policy
done
try to disable each and every unneeded daemon or applets, programs, etc.
by using:
* powertop
* iotop
* htop
* top
* lsof | grep /home
* ...
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/