概要
ページキャッシュの使用状況確認、削除のためにlinux-fincore (linux-ftools?)をCentOS7に導入する。メモリが余っている状況であるのにswapを使いにいくサーバに対して、ファイルを読み込んだ際のキャッシュ(ページキャッシュ)が原因でないか疑っており、その調査をするために導入したかったもの。
ばお、ソースからコンパイルなど、あまり経験が無いため内容が分かっていないが出来た的な内容になります。
ダウンロード
以下にアクセス。
https://code.google.com/archive/p/linux-ftools/
左メニューのSource をクリックすると右の窓にdefault: source, commitsと出るのでsourceをクリックする。Download the code for this repo. (372.1KB) となっているところのDownload をクリックするとダウンロードが始まる。ファイル名はsource-archive.zip 。なお、左メニューのDownloads からは落とせなくてなっていた。
確認していませんが以下も同じ内容かもしれません。
https://github.com/david415/linux-ftools
インストール
良く分かっていないが、automake のバージョンが合わないためか通常のソースからインストール手順ではうまくいかなかった。
- source-archive.zip を適当なディレクトリに配置。
- 解凍
unzip source-archive.zip - 解凍先にcd
cd linux-ftools - インストール
- aclocal
autom4te.cache と aclocal.m4 が作成される - autoconf
configure が作成される。 - automake
Makefile.in が作成される。
以下のようなwarning が出たが無視。
[root@xxxx linux-ftools]# automake
configure.ac:7: warning: AM_INIT_AUTOMAKE: two- and three-arguments forms are deprecated. For more info, see:
configure.ac:7: http://www.gnu.org/software/automake/manual/automake.html#Modernize-AM_005fINIT_005fAUTOMAKE-invocation
[root@xxxx linux-ftools]#
- configure
config.status と Makefile と config.log が作成される。 - make
いくつかファイルができるが、linux-fincore、linux-fadvise、linux-fallocateができればok。
使用
- ページキャッシュの確認
対象にディレクトリが含まれるとエラー出力がでる模様。そのために 2>/dev/null としている。
./linux-fincore --pages=false --summarize --only-cached 対象ディレクトリ* 2> /dev/null
[root@xxxx linux-ftools]# ./linux-fincore --pages=false --summarize --only-cached /var/log/* 2> /dev/null
filename size total_pages min_cached page cached_pages cached_size cached_perc
-------- ---- ----------- --------------- ------------ ----------- -----------
/var/log/boot.log-20190512 18,293 5 0 5 20,480 100.00
/var/log/boot.log-20190707 18,404 5 0 5 20,480 100.00
/var/log/boot.log-20190721 18,636 5 0 5 20,480 100.00
/var/log/boot.log-20190818 18,652 5 0 5 20,480 100.00
/var/log/boot.log-20190826 9,271 3 0 3 12,288 100.00
/var/log/boot.log-20190901 9,287 3 0 3 12,288 100.00
/var/log/cron 1,988 1 0 1 4,096 100.00
/var/log/cron-20190901 8,109 2 0 2 8,192 100.00
/var/log/dmesg 31,430 8 0 8 32,768 100.00
/var/log/lastlog 292,292 72 0 5 20,480 6.94
/var/log/maillog-20190901 404 1 0 1 4,096 100.00
/var/log/messages 2,944 1 0 1 4,096 100.00
/var/log/messages-20190901 176,480 44 23 21 86,016 47.73
/var/log/secure-20190901 4,499 2 0 2 8,192 100.00
/var/log/vboxadd-setup.log 61 1 0 1 4,096 100.00
/var/log/wtmp 75,264 19 17 2 8,192 10.53
---
total cached size: 286,720
[root@xxxx linux-ftools]#
- ページキャッシュの削除
./linux-fadvise フルパスファイル名 POSIX_FADV_DONTNEED
[root@xxxx linux-ftools]# ./linux-fadvise /var/log/boot.log-20190706 POSIX_FADV_DONTNEED
Going to fadvise /var/log/boot.log-20190706 as mode POSIX_FADV_DONTNEED
offset: 0
length: 27742
mode: POSIX_FADV_DONTNEED
WIN
[root@xxxx linux-ftools]#