为什么sar -B中pgpgin/s和majflt/s不一致?

为什么sar -B中pgpgin/s和majflt/s不一致?

sar -B输出中,我天真地期望pgpgin/s等于majflt/s乘以系统页面大小。来自man sar

          pgpgin/s
                 Total number of kilobytes the system paged in  from  disk
                 per second.  Note: With old kernels (2.2.x) this value is
                 a number of blocks per second (and not kilobytes).

          majflt/s
                 Number  of  major  faults the system has made per second,
                 those which have required loading a memory page from disk
                 (post 2.5 kernels only).

但是当我在数据库服务器上运行它时,这两个值之间似乎没有关系:

$ sar -B
Linux 2.6.18 ()  01/17/14

00:00:01     pgpgin/s pgpgout/s   fault/s  majflt/s
00:10:01     28839.29   4066.91  60070.62      0.22
00:20:01     25258.19   4713.13  93829.93      0.00
00:30:01     46672.52   6607.15  84724.62      0.01
00:40:01     52557.52   5373.07  49446.01      0.09
00:50:01     54933.57   4955.64  34532.68      0.11
01:00:01     47434.88   5951.53  38913.09      0.06
01:10:01     64164.55   6177.64  35659.79      0.03
01:20:01     26460.16   6187.01  38998.04      0.01
01:30:01     23894.06   4583.54  42764.31      0.00
01:40:01     22325.79   4188.20  62948.33      0.11
01:50:01     21001.13   3735.61  73143.50      0.01
02:00:01     25717.20   3732.34  86910.27      0.05
02:10:01     19324.46   4729.37 107797.65      0.00
02:20:01     19179.15   4520.35  99909.35      0.00
02:30:01     43395.89   4678.08  59900.77      0.10
02:40:01     49035.95   5278.58  61218.00      0.02
02:50:01     28791.11   5705.23  39133.06      0.03
03:00:01     12966.05   5326.76  52395.24      0.12
03:10:01     19286.49   6308.12  51427.25      0.13
03:20:01     24033.23   5604.77  38561.20      0.00
03:30:01     26637.95   4029.43  40510.53      0.00
03:40:01     28416.92   4568.89  37415.01      0.01
03:50:01     32126.90   5636.83  45575.26      0.00
04:00:01     25921.73   3816.86  33506.33      0.05

$ getconf PAGESIZE
4096

显然我错了——有人可以纠正我的误解吗?

相关内容