2013年5月15日水曜日

linux-fincoreを使ってページキャッシュを覗く

ページキャッシュにどれだけページが載っているかを調べたいなーと思うと、
ファイルがページキャッシュに乗っているかどうかを調べる というのがよく引っかかって、
そもそもfincoreってどっから出てきた名前なんだと思ったらlinux-ftoolsというところに行き着いた。

linux-ftoolsはApacheライセンスで、PerlとINLINE Cで書かれたfincoreはGPLv2なんだけど、
どっちが本家なんだかもともとオリジナルがあるのかよく判らない。


取り敢えずlinux-ftoolsを落としてきてコンパイル。
ダウンロード可能なtarballが存在しないので、hgとやらでcloneするしかなさそう。
hgコマンドが入ってなかったので、mercurialパッケージを突っ込んでから(恥ずかしながらこれ知らなかった。。)

$ sudo yum install -y mercurial
$ hg clone https://code.google.com/p/linux-ftools/
$ cd linux-fincore
$ ./configure && make

makeさえすればバイナリ単品で使い回せそうなので、make installはしない前提でconfigureオプションなし。

$ ./linux-fincore /tmp/*

filename                                                                                       size        total_pages    min_cached page       cached_pages        cached_size        cached_perc
--------                                                                                       ----        -----------    ---------------       ------------        -----------        -----------
/tmp/access.log                                                                             191,010                 47                 -1                  0                  0               0.00
/tmp/logs.sql.201305091141.gz                                                                 8,908                  3                 -1                  0                  0               0.00
/tmp/logs.sql.201305131834                                                                   72,382                 18                 -1                  0                  0               0.00
---
total cached size: 0

うむ。-Lつけて縦表示にした方が見やすいかも。

$ ./linux-fincore -L -s /tmp/*
filename                                                                                       size        total_pages    min_cached page       cached_pages        cached_size        cached_perc
--------                                                                                       ----        -----------    ---------------       ------------        -----------        -----------
/tmp/access.log
size: 191,010
total_pages: 47
min_cached_page: -1
cached: 0
cached_size: 0
cached_perc: 0.00
/tmp/logs.sql.201305091141.gz
size: 8,908
total_pages: 3
min_cached_page: -1
cached: 0
cached_size: 0
cached_perc: 0.00
/tmp/logs.sql.201305131834
size: 72,382
total_pages: 18
min_cached_page: -1
cached: 0
cached_size: 0
cached_perc: 0.00
---
total cached size: 0

さあ、これでmroonga載っててswapが鬼の様なサーバー覗いてこよう。

0 件のコメント :

コメントを投稿