linux 负载分析,linux内存负载分析

linux内存负载分析

衡量内存负载的一个很重要的指标就是页面置换的频率。当linux系统频繁的对页进行换进换出的时候,说明物理内存不过,不得不进行频繁的置换页面。

使用vmstat(virtual memory statistics)进行内存负载分析

# 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

对于内存负载分析其中关键的字段是:

swpd:虚拟内存的使用总量。

si:每秒从虚拟内存读入内存的大小。

so:每秒从内存写入虚拟内存的大小。

如果这3个字段的值比较高说明出现了内存瓶颈。

使用free进行内存分析

也可以使用free 来标识内存的负载情况.

# free

total used free shared buffers cached

Mem: 911564 155492 756072 0 20564 65696

-/+ buffers/cache: 69232 842332

Swap: 3481592 0 3481592

如果发现linux 系统使用了其中大部分的物理内存。这是正常的linux使用这些物理内存来

提升系统的性能。其中要注意的是swap 那一行.

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

-s 选项表示间隔多少秒,报告一次内存负载情况。使用Ctrl+C退出。可以把上面的输出重定向到文件。

/proc/meminfo

也可以通过查看虚拟文件 /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

如果你在输出中看到SwapFree 字段的值较低,说明你的系统内存负载很高,需要添加额外的内存,或者监控系统进程对内存的使用情况,把一些不需要的进程结束掉。缓解内存负载。vmstat,free,cat /proc/meminfo 都可以和watch 一起配合使用。

使用sar进行内存分析

使用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

-B 表示报告系统的分析统计情况。

pgpgin/s :每秒从磁盘中调入的大小,bytes。

pgpgout/s:每秒从内存中换出的大小,bytes。

-f表示要从哪个历史日志文件中读取相应的报告数据。/var/log/sa/saNN NN表示本月的天数。

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

-W 表示报告交换的统计情况。

pswpin/s:每秒置换进来的大小。

pswpout/s:每秒置换出的大小。

如果这两个值较高,说明内存负载大。

使用sar 进行实时内存负载分析.

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

3 表示报告的时间间隔s。

5 表示报告的次数。

使用sar进行当前内存负载分析

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

-W 表示报告swap信息。

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

-r表示报告内存使用率统计。

字段解释:

kbmemfree  空闲内存大小。

kbmemused  已被使用的内存大小。

%memused   被使用的内存占总内存的百分比。

kbbuffers  被用作buffer 的内存大小。

kbcached  被用作cache 的内存大小。

kbcommit  确保当前的工作负载,所需要的内存大小。以保证不需要使用到swap。

%commit    kbcommit 与 RAM+swap 的比值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值