衡量内存负载的一个很重要的指标就是页面置换的频率。当linux系统频繁的对页进行换进换出的时候,说明物理内存不过,不得不进行频繁的置换页面。
# vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free buff cache si so bi bo in cs us sy id wa st
0 0 0 758668 19688 64508 56 0 0 256 263 118 3 22 74 2 0
0 0 0 758668 19688 64532 0 0 0 0 21 10 0 1 99 0 0
0 0 0 758668 19688 64532 0 0 0 0 19 7 0 1 100 0 0
也可以使用free 来标识内存的负载情况.
# free
total used free shared buffers cached
Mem: 911564 155492 756072 0 20564 65696
-/+ buffers/cache: 69232 842332
Swap: 3481592 0 3481592
free -s 3
total used free shared buffers cached
Mem: 911564 155748 755816 0 20620 65732
-/+ buffers/cache: 69396 842168
Swap: 3481592 0 3481592
total used free shared buffers cached
Mem: 911564 155748 755816 0 20620 65732
-/+ buffers/cache: 69396 842168
Swap: 3481592 0 3481592
也可以通过查看虚拟文件 /proc/meminfo 来查看内存的负载情况。
cat /proc/meminfo
MemTotal: 911564 kB
MemFree: 239024 kB
Buffers: 23304 kB
Cached: 513724 kB
SwapCached: 0 kB
Active: 216272 kB
Inactive: 387160 kB
使用sar 进行实时,当天,当天前本月的其他天的内存负载情况分析。
sar -B -f /var/log/sa/sa08
Linux 2.6.32-71.el6.i686 (zeng) 03/08/2012 i686 (1 CPU)
09:50:01 AM LINUX RESTART
10:00:02 AM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff
10:10:01 AM 0.00 79.83 0.00 124.61 0.00 0.00 0.00 0.00 0.00
10:20:01 AM 0.00 1.42 0.00 51.98 0.00 0.00 0.00 0.00 0.00
10:30:01 AM 0.00 113.79 0.00 135.36 0.00 0.00 0.00 0.00 0.00
10:40:02 AM 0.00 0.02 0.00 32.64 0.00 0.00 0.00 0.00 0.00
10:50:01 AM 0.00 0.02 0.00 33.78 0.00 0.00 0.00 0.00
sar -W -f /var/log/sa/sa13
Linux 2.6.32-71.el6.i686 (zeng) 03/13/2012 i686 (1 CPU)
12:57:10 PM LINUX RESTART
01:00:02 PM pswpin/s pswpout/s
01:10:02 PM 20.41 0.00
01:20:01 PM 58.31 0.00
01:30:02 PM 19.76 0.00
01:40:01 PM 20.00 0.00
01:50:01 PM 19.75 0.00
02:00:01 PM 19.98 0.00
02:10:01 PM 33.62 0.00
02:20:01 PM 20.94 0.00
02:30:01 PM 20.84 0.00
02:40:01 PM 20.40 0.00
sar -W 3 5
Linux 2.6.32-71.el6.i686 (zeng) 03/14/2012 i686 (1 CPU)
10:54:01 AM pswpin/s pswpout/s
10:54:04 AM 22.61 0.00
10:54:07 AM 17.02 0.00
10:54:10 AM 22.38 0.00
10:54:13 AM 16.84 0.00
10:54:16 AM 22.30 0.00
Average: 20.24 0.00
sar -W
Linux 2.6.32-71.el6.i686 (zeng) 03/14/2012 i686 (1 CPU)
09:48:13 AM LINUX RESTART
09:50:02 AM pswpin/s pswpout/s
10:00:01 AM 1.00 0.00
10:10:01 AM 0.61 0.00
10:20:01 AM 19.49 0.00
10:30:02 AM 29.70 0.00
10:40:01 AM 38.41 0.00
10:50:02 AM 20.49 0.00
Average: 18.07 0.00
sar -r
Linux 2.6.32-71.el6.i686 (zeng) 03/14/2012 i686 (1 CPU)
09:48:13 AM LINUX RESTART
09:50:02 AM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
10:00:01 AM 755660 155904 17.10 20240 65580 176952 4.03
10:10:01 AM 755684 155880 17.10 20628 65732 176056 4.01
10:20:01 AM 209720 701844 76.99 23648 537324 693520 15.79
10:30:02 AM 177240 734324 80.56 24452 568336 693476 15.79
10:40:01 AM 60144 851420 93.40 86464 576484 694376 15.81
10:50:02 AM 59284 852280 93.50 87264 576512 694376 15.81
Average: 336289 575275 63.11 43783 398328 521459 11.87