Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

lenny における ps コマンドの WCHAN

493 views
Skip to first unread message

goungoun

unread,
Jul 23, 2009, 9:25:23 AM7/23/09
to
こんにちは。

昔、システム負荷について調べていたとき、
psコマンドのSTATがD(割り込み不可能なスリープ状態)のプロセスを
減らすことができれば、システム負荷を下げられるはず。
と考えて、いろいろやってました。

etchの頃は、
STAT が D のプロセスがあった場合、WCHANにどのカーネル関数でスリープ
しているか表示されていたと思います。

ところが、lennyでは STAT が D になっても WCHAN は
空白のままです。

# ps lax
F UID PID PPID PRI NI VSZ RSS WCHAN STAT TTY TIME COMMAND
:
4 0 29464 28860 20 0 4240 1280 - D+ pts/1 0:00 smartctl --all -d ata /dev/sdb

これはカーネルのバージョンがあがったからなのでしょうか?
それとも、私が WCHAN について誤解しているのでしょうか?

環境は以下の通り、lenny(stable)の最新にしているつもりです。

# uname -a
Linux dimension8300 2.6.26-2-686 #1 SMP Sun Jun 21 04:57:38 UTC 2009 i686 GNU/Linux

# dpkg -l linux-image-2.6.26-2-686
:
ii linux-image-2.6.26-2-686 2.6.26-17 Linux 2.6.26 image on PPro/Celeron/PII/PIII/P4

# dpkg --search `which ps`
procps: /bin/ps

# dpkg -l procps
:
ii procps 1:3.2.7-11 /proc file system utilities


--
goungoun <gou...@gmail.com>
http://goungoun.dip.jp/app/


goungoun

unread,
Jul 26, 2009, 12:01:36 PM7/26/09
to
自己レスです。

以下に従って、

Measuring Linux Latency With LatencyTOP On Ubuntu 8.10 And Debian Lenny
http://www.howtoforge.org/measuring-linux-latency-with-latencytop-on-ubuntu-8.10-and-debian-lenny

CONFIG_LATENCYTOP=y でカーネル作り直しすると、
lsのWCHANにいろいろと表示されるようになりました。

config の違いを貼っておきます。

/boot$ diff config-2.6.26-2-686 config-2.6.26-custom
3,4c3,4
< # Linux kernel version: 2.6.26
< # Sun Jun 21 03:37:11 2009
---
> # Linux kernel version: 2.6.26-custom
> # Sun Jul 26 14:56:39 2009
112c112
< # CONFIG_KALLSYMS_ALL is not set
---
> CONFIG_KALLSYMS_ALL=y
4001c4001
< # CONFIG_SCHEDSTATS is not set
---
> CONFIG_SCHEDSTATS=y
4013a4014
> CONFIG_STACKTRACE=y
4022c4023
< # CONFIG_FRAME_POINTER is not set
---
> CONFIG_FRAME_POINTER=y
4027c4028
< # CONFIG_LATENCYTOP is not set
---
> CONFIG_LATENCYTOP=y

0 new messages