sar の pswpin/s と majflt/s の関係
- pswpin/sは1秒あたりにスワップ領域からメモリに読み込んだページ数。
- majflt/sは1秒あたりに発生したディスクアクセスを伴うページ・フォルト(メジャー・ページ・フォルト)の回数。
- スワップ・インはディスクアクセスを伴うページ・フォルトそのものであるため、pswpin/sとmajflt/sには正の相関関係がある。
- ただし、スワップ領域のI/O単位がカーネルパラメータ vm.page-cluster により "2**vm.page-cluster" ページ単位となっている。
- そのため、1回のメジャー・ページ・フォルト発生により、複数のページがスワップ領域から戻されることとなり、次以降のメジャー・ページ・フォルト発生を抑制できる。
- vm.page-cluster=0 の場合には、1回のメジャー・ページ・フォルトで1ページしか読まないため、pswpin/s = majflt/s となる。
- vm.page-cluster>0 の場合でも、majflt/s の回数が "2**vm.page-cluster" に反比例して減少するわけではない(先読みしたものがヒットしないこともあるため)。
http://www.kernel.org/doc/Documentation/sysctl/vm.txt より
page-cluster
page-cluster controls the number of pages which are written to swap in
a single attempt. The swap I/O size.It is a logarithmic value - setting it to zero means "1 page", setting
it to 1 means "2 pages", setting it to 2 means "4 pages", etc.The default value is three (eight pages at a time). There may be some
small benefits in tuning this to a different value if your workload is
swap-intensive.