* High cpu load due to pdflush
@ 2007-11-03 17:24 Bob Gill
0 siblings, 0 replies; only message in thread
From: Bob Gill @ 2007-11-03 17:24 UTC (permalink / raw)
To: linux-kernel
Hi. My computer is constipated. The load average when idle never goes
below 100%. Top shows this:
top - 11:01:27 up 5 min, 2 users, load average: 2.63, 1.73, 0.76
Tasks: 91 total, 2 running, 89 sleeping, 0 stopped, 0 zombie
Cpu(s): 13.5%us, 4.4%sy, 1.6%ni, 9.9%id, 70.2%wa, 0.3%hi, 0.2%si,
0.0%st
Note that we are at 70% for the wait state, 9.9% idle. Now when I run
ps aux | grep pdflush | grep -v grep ...I get:
root 144 0.0 0.0 0 0 ? S 10:56 0:00 [pdflush]
root 145 0.0 0.0 0 0 ? D 10:56 0:00 [pdflush]
the second pdflush is dirty (and won't write). I haven't changed
anything in /proc/sys/vm and am running the 2.6.24-rc1-git12 kernel on
Ubuntu Gutsy. The original Gutsy kernel worked fine. The only way I
can get around the problem is to go into a terminal and run:
>while true
>do
>sync
>sleep 10
>done
...which will force writes and give me (from top)
top - 11:06:55 up 10 min, 3 users, load average: 0.42, 1.23, 0.85
Tasks: 93 total, 2 running, 91 sleeping, 0 stopped, 0 zombie
Cpu(s): 3.0%us, 0.9%sy, 0.0%ni, 95.6%id, 0.3%wa, 0.3%hi, 0.0%si,
0.0%st
(on the very same load as before and the load is still dropping).
The only real change I made to Ubuntu was in
/etc/init.d/mountdevsubfs.sh where I uncommented:
# Magic to make /proc/bus/usb work
#
mkdir -p /dev/bus/usb/.usbfs
domount usbfs "" /dev/bus/usb/.usbfs
-obusmode=0700,devmode=0600,listmode=0644
ln -s .usbfs/devices /dev/bus/usb/devices
mount --rbind /dev/bus/usb /proc/bus/usb
...so that usb would work with a custom kernel...
Oh, and btw, my cpu is an Intel P4.
Also, I applied the following patch and build/ran a kernel (but it did
not reduce the cpu load on my system):
>/> -------------------------- fs/jbd/transaction.c
-----------------------------/
>/> index cceaf57..d38e0d5 100644/
>/> @@ -55,7 +55,7 @@ get_transaction(journal_t *journal, transaction_t
*transaction)/
>/> spin_lock_init(&transaction->t_handle_lock);/
>/> /
>/> /* Set up the commit timer for the new transaction. *//
>/> - journal->j_commit_timer.expires =
round_jiffies(transaction->t_expires);/
>/> + journal->j_commit_timer.expires = transaction->t_expires;/
>/> add_timer(&journal->j_commit_timer);/
>/> /
>/> J_ASSERT(journal->j_running_transaction == NULL);
/Any ideas? Please mail me if you need more information.
Thanks in Advance,
Bob
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2007-11-03 23:41 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-03 17:24 High cpu load due to pdflush Bob Gill
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.