Assessing paging space I/O with the vmstat command
The vmstat reports indicate the amount of paging-space I/O taking place.
# vmstat 5 8
kthr memory page faults cpu
----- ----------- ------------------------ ------------ -----------
r b avm fre re pi po fr sr cy in sy cs us sy id wa
0 1 72379 434 0 0 0 0 2 0 376 192 478 9 3 87 1
0 1 72379 391 0 8 0 0 0 0 631 2967 775 10 1 83 6
0 1 72379 391 0 0 0 0 0 0 625 2672 790 5 3 92 0
0 1 72379 175 0 7 0 0 0 0 721 3215 868 8 4 72 16
2 1 71384 877 0 12 13 44 150 0 662 3049 853 7 12 40 41
0 2 71929 127 0 35 30 182 666 0 709 2838 977 15 13 0 71
0 1 71938 122 0 0 8 32 122 0 608 3332 787 10 4 75 11
0 1 71938 122 0 0 0 3 12 0 611 2834 733 5 3 75 17
The following "before and after" vmstat -s reports show the accumulation of paging activity. Remember that it is the paging space page ins and paging space page outs that represent true paging-space I/O. The (unqualified) page ins and page outs report total I/O, that is both paging-space I/O and the ordinary file I/O, performed by the paging mechanism. The reports have been edited to remove lines that are irrelevant to this discussion.
# vmstat -s # before | # vmstat -s # after |
---|---|
6602 page ins 3948 page outs 544 paging space page ins 1923 paging space page outs 0 total reclaims | 7022 page ins 4146 page outs 689 paging space page ins 2032 paging space page outs 0 total reclaims |
The fact that more paging-space page-ins than page-outs occurred during the compilation suggests that we had shrunk the system to the point that thrashing begins. Some pages were being repaged because their frames were stolen before their use was complete.