In sar -B
ouptut, I would naively expect pgpgin/s
to equal majflt/s
multiplied by the system page size. From 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).
But when I run it on my database server there appears to be no relationship between the two values:
$ 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
Clearly I'm wrong - could someone correct my misunderstanding?