system management
1753259 メンバー
5718 オンライン
108792 解決策
新規ポスト

vmstatコマンドによる性能評価について

 
hiro_760329
アドバイザー

vmstatコマンドによる性能評価について

11.0環境においてvmstatコマンドを使用しての性能評価を行っております。ある特定の時間帯にてページインが10件/sほど発生しています。swapinfoコマンドで定期的にUSEDを確認しておりますが常に0であり、vmstat出力情報のw、poにも0と報告されております。また、物理メモリの使用率も70%以下に収まっていることから、ページインが発生した原因をつきとめることができません。そもそもページアウトしていない限りページインは発生しないと考えているのですが、この認識が間違っているのでしょうか?ページインが発生した要因についてご教授いただきたく宜しくお願いします。
6件の返信6
テレコム担当者
尊敬されているコントリビューター

vmstatコマンドによる性能評価について

>ページアウトしていない限りページインは発生しないと考えているのですが、

>この認識が間違っているのでしょうか?ページインが発生した要因について

>ご教授いただきたく宜しくお願いします。

vmstat の pi, po についての詳細は分かりません。

実機で試したところ、

HP-UX11.0 空きメモリ 260M

HP-UX11.11 空きメモリ 320M

両方の機種で pi のみが発生しました。

HP-UX11.11 の方の pi は1秒の平均は10回です。

なぜ多いかは不明ですが、vmstat の pi は記録されています。

私の考えでは vmstat の pi の表示がイコールでシステムの

PageIn ではないと思っています。

pi が何と言うシステム関数を使い何を表示しているかは分かりません。

詳しい人説明を....と言っても vmstat の作りこみ依存な気がします。

linux でも同じような挙動だったと記憶していますので、

vmstat のソースコードを読むのも良いかも?
nadachi
レギュラーアドバイザー

vmstatコマンドによる性能評価について

vmstat の pi (page in) は、メモリマップされたファイルからの読み込みも数えていたという覚えがあります。

 何らかのコマンドを起動したとき、共有ライブラリファイルはメモリマップして使いますので、この部分のディスクファイルからの読み取りがあれば pi のカウントは増えるはずです。

 少し大きめのファイルをopenして、mmap()でメモリマップして、read()ではなくポインタアクセスでファイルの内容を順に読むプログラムを走らせながら vmstatの "pi" の値と相関が取れるかどうか見てはいかが?

nadachi
レギュラーアドバイザー

vmstatコマンドによる性能評価について

もう一つ検証のためのideaがあります。もしこの pi (page in) がmemory mapped file経由での読み込みであるならば、swap disk へのI/Oではなく、ファイルシステムへのI/Oであるはずです。

 ですので、vmstat と平行して、"sar -d" でディスクの動作を見て、swap space用のdisk I/O か、ファイルシステム用のdisk I/O か、を見分けられるのでは。(残念ながら、ディスクが一つしかないようなシステムでは、両者の区別がつきませんが。)

参考まで。
hiro_760329
アドバイザー

vmstatコマンドによる性能評価について

nadachi様

貴重な情報ありがとうございます。メモリマップについてですが、PIが発生している時間帯は合わせてtop,ps,dmesg,swapinfoを1分間隔で。sar,vmstatを1秒間隔で取得し、ファイルリダイレクションしております。これらを実行していることによってPIが発生しているということも考えられるのでしょうか?また、sar -dについてですがvmstatと全く同じタイミングで取得しております。当システムではディスクは2台でミラー化してはおりますが、swap領域とファイルシステム領域は同じ物理ディスクに定義(LVにて定義)しております。これでも検証は可能でしょうか?r+w/s、blks/sで見分けるということでしょうか?初心者の質問で申し訳ありません。論理ボリューム単位のI/O状況が見分けることができればわかり易いような気がするんですがね〜。
Ki_To
時折のアドバイザー

vmstatコマンドによる性能評価について

>ページアウトしていない限りページインは発生しないと考えているのですが、

>この認識が間違っているのでしょうか?ページインが発生した要因について

>ご教授いただきたく宜しくお願いします。

簡単に説明させて頂くと、

ページイン :プログラム等が実メモリ上に読み込まれる事。

ページアウト:実メモリ不足時に一時的に実メモリから外部記憶へ退避させる事。

と認識しております。

なので、通常プログラムを実行する時には、必ずページインが発生することになります。

今回、ページインが発生しているのも正常な動作であると考えられます。
nadachi
レギュラーアドバイザー

vmstatコマンドによる性能評価について

> swap領域とファイルシステム領域は同じ物理ディスクに定義(LVにて定義)しております。これでも検証は可能でしょうか

"sar -d"ではLVOLレベルのI/Oの区別は出来ないです。HP Glanceをお持ちならLVOLのレベルでI/Oのあるなしを表示できますが。