• 締切済み

FreeBSDでのCPU占有率とメモリ占有率

FreeBSDでps auxコマンドを実行した時の表示で、%CPU欄と%MEM欄の合計がどのくらいになった時に「重い」と感じるものなのでしょうか。自分が何もプロセスを走らせていない時にコマンドを実行してだいたい%CPUの合計は60、%MEMの合計は40くらいです。

みんなの回答

回答No.2

%CPU の値は、本当にアクティブなプロセスを何も動かしてなけれ ば、合計はほぼ 0.0 になるはずです。 ただし、その一瞬でも CPU への割当てがあればカウントされます から、ps コマンド、その結果を見る more/less コマンド、その集 計をする awk/perl コマンドのせいで、はね上がることがあります。 60 というのはどのコマンドが占めていましたか?ps に -c オプショ ンをつけるか、-w オプションをつければわかりやすいと思います。 そして、CPUが1個のシステムであれば、どんなに重くなったとして も %CPUの合計が 100 を超えることはありません(psコマンドの仕 様で256分率を使っているものは別)。ですから、重さの目安とし ては使えないでしょう。 また、%MEM の方も、実メモリの使用率ですから、どんなに重くなっ ても 100 を超えません。やはりあまり目安にはならないでしょうね。 1Yenさんのいうように、まずは load average が重要です。これは 何個のプロセスが CPU の割り当てを待っているかを表す値で、こ れが大きいほどなかなか自分のプロセスにCPUがまわって来ないの で重くなるというわけです。 あとは、通常のファイルアクセスが非常に多ければ、やはり重くな りますね。 それ以外には、実メモリに入り切らないデータは仮想メモリに swap されてしまいますが、仮想メモリへのアクセスが頻発する状 況になると極端に重くなります。VSZ は、使用している総メモリ量 ですが、このうち、RSS の分だけ実メモリに入っています。%MEM はほぼこれに比例しているはずです(ただし、コード部は共有され ているので、若干異なる)。つまり、VSZとRSSの差だけ、ディスク のswap領域にデータを持っているのですが、そのプロセスがアクティ ブだと重くなる可能性が高まります。 ファイルであれスワップであれ、ディスクアクセスの頻度を見るのは iostat コマンドです。

すると、全ての回答が全文表示されます。
  • 1Yen
  • ベストアンサー率28% (11/39)
回答No.1

ps -aux の値をいちいち全部足すのって面倒じゃありません?ま、awk なり perl なりで処理させればいいんでしょうけど(^^; ps -aux の値がどうかは分かりませんが、ふつうは uptime のコマンドを叩いて load avrage が3~5を越えた辺りから重く感じるのではないでしょうか。 あるサーチエンジンのサイトでは、load average が 200 を越えてもふつうに ls などが実行できたので環境にも依ると思いますが(そのサイトは Solaris でした) FreeBSD上では load average 80 位まで出したことがありますが、uptime の表示が出るまで数十分かかりました(^^;;;;; ちなみに、topでも load average の値は見ることができますよ。

すると、全ての回答が全文表示されます。

関連するQ&A