- ベストアンサー
Linuxのキャッシュとバッファについての教えてください
- Linuxのキャッシュとバッファについて教えてください。キャッシュサイズの確認方法やキャッシュとバッファの関係について理解したいです。
- キャッシュとバッファの違いを教えてください。vmstatコマンドで表示されるキャッシュとバッファの増減についても知りたいです。
- キャッシュとバッファに関しての疑問です。特にキャッシュとバッファの増減について理解したいです。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
>本当に私のプログラムがキャッシュを消費しているのか知りたかった キャッシュ(ページキャッシュ)は、 プログラム(プロセス)に割り当てられるものではありません。 従って、調査は困難です。 ものすごい手間を掛ければ理論上は可能ですが、お手軽な方法はありません。 >あるプログラムを実行いたところ、キャッシュは増加し、バッファは減少しました。 1.キャッシュ(ページキャッシュ)は、ファイルのキャッシュとして動作した。 ⇒ファイルは再利用されるかもしれないので、キャッシュ生存期間が長い。 ⇒生存期間切れの開放量がほとんどなく、総量が増加した。 2.バッファ(バッファキャッシュ)は、HDD読書のキャッシュとして動作した。 ⇒HDD読書操作が終わればすぐ不要になり、キャッシュ生存期間が短い。 ⇒生存期間切れで開放された量の方が多かったので、総量は減少した。 という挙動を示したと推測されます。 キャッシュ(ページキャッシュ)/バッファ(バッファキャッシュ)共に、 上記以外の動作も行いますが、一般的なプログラム(プロセス)では、 上記動作が消費総量に対して、支配的です。 >私のプログラムが動作している時間帯に >大量のキャッシュが消費されていたため、 >他のプログラムの処理が遅くなっている 今回の質問の本質は、 本当にruiruirui58さんのプログラムが 「他のプログラムの処理が遅くなる」問題の原因なのかどうか 調査したい。 ということでしょうか?
その他の回答 (3)
- YkazubonY
- ベストアンサー率30% (26/86)
top で見ればvssがキャッシュサイズだったような。 CPU CORE 4個に、8GBのメモリーを載せるのが、安くて良いと思いますが。
- noyuo
- ベストアンサー率39% (33/84)
あまり、1つのプロセスのキャッシュのサイズは気にしなくていいかもしれません。 ページフォルトが頻繁に起こってるなら、メモリのとり方や、データサイズが大きすぎたり プログラムの局所性が低いという可能性があります. vmstatのバッファは入出力(I/O)に使用するメモリ領域じゃないかな? ps や、pmap で、メモリ上だけでなくSWAPも含めたプログラムのリージョンサイズは確認してみましたか? 参考URLもどうぞ。
- nolix
- ベストアンサー率19% (110/572)
top コマンドはどうですか?
お礼
ご回答、ありがとうございます。 topコマンドはッキャッシュサイズまでわかるんでしたっけ? メモリの使用率はでたと思いますが
お礼
ご回答、ありがとうございます。 今回質問させていただいたのは、私のプログラムが動作している時間帯に大量のキャッシュが消費されていたため、他のプログラムの処理が遅くなっていることが分かり、本当に私のプログラムがキャッシュを消費しているのか知りたかったというものがありました。