- PR -

sarとvmstatどちらが正しいのでしょうか?

1
投稿者投稿内容
未記入
大ベテラン
会議室デビュー日: 2007/07/03
投稿数: 136
投稿日時: 2007-09-04 17:50
sar -rとvmstatの結果は以下の通りです。
sar-r
17時42分36秒 kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad
17時42分37秒 60084 968304 94.16 189624 355204 1951828 88384 4.33 60448

vmstat
procs memory swap io system cpu
r b swpd free buff cache si so bi bo in cs us sy wa id
0 0 88384 55964 189856 360320 0 0 1 1 1 0 0 1 0 1

vmstatではsi,soの値が0でスワップは発生していないように見えるのですが、
sar -rでは88MBスワップしていると出ています。
どちらが正しいのでしょうか?
F/A
ぬし
会議室デビュー日: 2006/03/18
投稿数: 312
お住まい・勤務地: Tokyo
投稿日時: 2007-09-04 20:09
どちらも正しいです。
どちらの出力結果にも88384という値が出ていますし。
もう一度、si soが何の値で、kbswpusedが何の値かをマニュアル等で確認してみて下さい。



未記入
大ベテラン
会議室デビュー日: 2007/07/03
投稿数: 136
投稿日時: 2007-09-05 13:25
回答ありがとうございます。
メモリ使用率が94%でswapが88MB消費されているのでメモリの増強が必要なのでは?
と思ったのですが、si,soは発生しておらず、
kbbuffers+kbcached+kbmemfreeで実際の空きは約600MB程あり
メモリにはまだまだ余裕があると読みました。
余裕があってもkbswpusedは0にはならないんですね。
F/A
ぬし
会議室デビュー日: 2006/03/18
投稿数: 312
お住まい・勤務地: Tokyo
投稿日時: 2007-09-05 20:01
もう少し詳しく書くと…


提示されているvmstatが一行目の平均値なのか
それともそれ以降の瞬間値なのかが不明です。

まぁ、瞬間値だと想定する事にします。
(スワップ消費量が88384ですし…)

サーバーが起動してからvmstat/sarを取得した瞬間までの間には、
プロセスのページアウトが必要になるくらい
メモリが不足した時点があるのだと思います。

ただし、メモリが不足してページアウトされた箇所は、
そのプロセスの該当ページが必要になるまではページインしないと思いますので、
スワップメモリ使用量はそのままです。(多分)

また、ページアウトが発生した瞬間は
vmstatやsarを取得した瞬間では無いので、si/soは0なのです。(多分)

あと、メモリ使用量が100%近い値になるのは、
ご推察のとおりカーネルがバッファとキャッシュにメモリを割り当てて
常に有効活用するように動作する為です。


ちなみに、ある一瞬の値を見た所で
過負荷が発生しているかなんて分からないと思いますよ。


[ メッセージ編集済み 編集者: F/A 編集日時 2007-09-05 20:13 ]
未記入
大ベテラン
会議室デビュー日: 2007/07/03
投稿数: 136
投稿日時: 2007-09-06 17:55
詳しい説明ありがとうございました。

載せたのは瞬間値です。
瞬間だけでなく24時間の様子がわかるようにパフォーマンスログを収集するようにしました。
1

スキルアップ/キャリアアップ(JOB@IT)