前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vmstat命令详解与举例

vmstat命令详解与举例

作者头像
王亚昌
发布2018-08-03 15:04:08
8770
发布2018-08-03 15:04:08
举报
文章被收录于专栏:王亚昌的专栏王亚昌的专栏

[root@localhost ~]# vmstat -n 3       (每个3秒刷新一次) procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b   swpd   free   buff cache   si   so    bi    bo   in    cs us sy id wa 1 0    144 186164 105252 2386848    0    0    18   166   83     2 48 21 31 0 2 0    144 189620 105252 2386848    0    0     0   177 1039 1210 34 10 56 0 0 0    144 214324 105252 2386848    0    0     0    10 1071   670 32 5 63 0 0 0    144 202212 105252 2386848    0    0     0   189 1035   558 20 3 77 0 2 0    144 158772 105252 2386848    0    0     0   203 1065 2832 70 14 15 0

vmstat所带参数请用man vmstat查看

Procs r: 等待运行的进程数 b: 处在非中断睡眠状态的进程数 w: 被交换出去的可运行的进程数。此数由 linux 计算得出,但 linux 并不耗尽交换空间

Memory swpd: 虚拟内存使用情况,单位:KB free: 空闲的内存,单位KB buff: 被用来做为缓存的内存数,单位:KB

Swap si: 从磁盘交换到内存的交换页数量,单位:KB/秒 so: 从内存交换到磁盘的交换页数量,单位:KB/秒

IO bi: 发送到块设备的块数,单位:块/秒 bo: 从块设备接收到的块数,单位:块/秒 System in: 每秒的中断数,包括时钟中断 cs: 每秒的环境(上下文)切换次数

CPU 按 CPU 的总使用百分比来显示 us: CPU 使用时间 sy: CPU 系统使用时间 id: 闲置时间

wa: 等待输入输出使用时间

准测 r,b≈0, 如果fre,将会出现连续不断的页面调度,将导致系统性能问题。 对于page列,re,pi,po,cy维持于比较稳定的状态,PI率不超过5,如果有pagin发生,那么关联页面必须先进行pageout 在内存相对紧张的环境下pagein会强制对不同的页面进行steal操作。如果系统正在读一个大批的永久页面,你也许可以看到po和pi列 会出现不一致的增长,这种情景并不一定表明系统负载过重,但是有必要对应用程序的数据访问模式进行见检查。在稳定的情况下,扫描率和重置率几乎相等,在多个进程处理使用不同的页面的情况下,页面会更加不稳定和杂乱,这时扫描率可能会比重置率高出。 faults列,in,sy,cs会不断跳跃,这里没有明确的限制,唯一的就是这些值最少大于100 cpu列,us,sys,id和wa也是不确定的,最理想的状态是使cpu处于100%工作状态,单这只适合单用户的情况下。 如果在多用户环境中us+sys》80,进程就会在运行队列中花费等待时间,响应时间和吞吐量就会下降。wa>40表明磁盘io没有也许存在不合理的平衡,或者对磁盘操作比较频繁。

举个例子吧,下面是两台逻辑srv打印出的结果,大概每秒1500次请求。

第二台机与第一台相比,wa和b字段远大于0,说明进程在等待输入输出而被中断, 且swpd 和 si so也远大于0说明内存已经不够用使用到了交换分区,出现这种情况有两个可能:

1. 进程不停被换入换出,系统处理能力下降。与第一台机相关,第一台机启动了30个进程,第二台机启动了100个进程,因此当请求量较高或进程处理有堵塞情况时,第二台机可以接入3倍的请求,但进程处理时延较长,在不停切换,处理能力下降很快,解决这种问题只需调整进程数到合适的值即可。

2. 内存泄漏。通过top可以查看,占用大内存的进程RES字段值是否正常,如果远大于经验值,并且重启后还会持续上升而不会趋于稳定,则说明存在内存泄漏。

procs -----------memory---------- ---swap-- -----io---- -system-- -----cpu------  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st  3  0      0 2237768 465264 3358896    0    0     0     1    1    2  8  8 83  1  0  0  0      0 2237644 465264 3358896    0    0     0    12 15553 24362  3  4 92  0  0 19  0      0 2237036 465264 3358896    0    0     0   244 15738 24381  5  3 91  1  0  7  0      0 2237160 465264 3358896    0    0     0     0 15361 25149  3  4 93  0  0  0  0      0 2237284 465264 3358896    0    0     0     8 15843 24949  4  4 92  0  0  2  0      0 2237408 465264 3358896    0    0     0     0 15665 25629  5  3 93  0  0

procs -----------memory---------- ---swap-- -----io---- -system-- -----cpu------  r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st 27 21 1052252 5415680   7308  29892    1    1     1     1    0    0  8  8 82  2  0 30 22 1052252 5414936   7308  30276  644    0   644     8 15045 27172  4  3 52 40  0 19 22 1052252 5414440   7328  29640  616    0   620   176 15259 26953  4  3 42 50  0  3 21 1052252 5413696   7340  30084  572    0   572    32 15385 26809  3  3 45 48  0  0 21 1052252 5413216   7340  29412  672    0   672     0 15105 26989  4  3 30 63  0

最终,结合top的结果分析是内存泄漏的原因,这里可以看出利用vmstat定位系统问题是很方便的.

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2010年01月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档