うまいぼうぶろぐ

linuxとhttpdとperlのメモ

psで確認できないCPU負荷?

普段はほとんど負荷のないwebサーバ上で、sar, vmstatで確認するとCPU利用率が約20%ほどあった。が、ps見てもそんなにCPU使ってるプロセスはない。不気味なので調べたけどよくわからず、いうことで困ったことがあった。

で、man psべた。psで表示されるCPU利用率 %cpuはpsを叩いた瞬間のCPU利用率ではなくて、CPU利用時間をプロセス生存時間で割った値だそうです。

現在のところCPU使用率は、プロセスの生存期間中に実行に利用した時間のパーセンテージで表される。これは理想的ではなく、psが準拠すべき標準に準拠していない。CPU使用率は足し合わせても正確に100%になることは少ない。

と書いている。つまり長時間動いているようなデーモンだと、psで見ても瞬間的なCPU利用率はわからない。