使用vmstat和iostat命令进行性能监控
  

暴躁的钢索 6311人觉得有帮助

{{ttag.title}}
在Linux系统中安装sysstat
1.   #yum -y install sysstat
·        vmstat -内存,进程和分页等的简要信息。
·        iostat -CPU统计信息,设备和分区的输入/输出统计信息。
Linux下vmstat命令的6个范例
1. 列出活动和非活动的内存
如下范例中输出6列。vmstat的man页面中解析的每一列的意义。最重要的是内存中的free属性和交换分区中的siso属性。
1.   [root@tecmint ~]# vmstat -a
2.   
3.   procs -----------memory---------- ---swap-------io---- --system-- -----cpu-----
4.    r b   swpd   free inact active   si   so   bi    bo   in   cs us sy id wa st
5.    1  0     0 810420  97380  70628    0    0   115     4   89   79  1  6 90  3  0
·        Free – 空闲的内存空间
·        si – 每秒从磁盘中交换进内存的数据量(以KB为单位)。
·        so – 每秒从内存中交换出磁盘的数据量(以KB为单位)。
注意:如果你不带参数的执行vmstat命令,它会输出自系统启动以来的总结报告。
2. 每X秒执行vmstat,共执行N次
下面命令将会每2秒中执行一次vmstat,执行6次后自动停止执行。
1.   [root@tecmint ~]# vmstat 2 6
2.   
3.   procs -----------memory---------- ---swap-------io---- --system-- -----cpu-----
4.    r b   swpd   free  buff  cache   si  so    bi    bo   in   csus sy id wa st
5.    0  0     0 810420  22064 101368    0    0    56     3   50   57  0  3 95  2  0
6.    0  0     0 810412  22064 101368    0    0     0     0   16   35  0  0 100  0  0
7.    0  0     0 810412  22064 101368    0    0     0     0   14   35  0  0 100  0  0
8.    0  0     0 810412  22064 101368    0    0     0     0   17   38  0  0 100  0  0
9.    0  0     0 810412  22064 101368    0    0     0     0   17   35  0  0 100  0  0
10.   0  0     0 810412  22064 101368    0    0     0     0   18   36  0  1 100  0  0
3. 带时间戳的vmstat命令
-t参数执行vmstat命令,该命令将会在每一行输出后都带一个时间戳,如下所示。
1.   [tecmint@tecmint ~]$ vmstat -t 1 5
2.   
3.   procs -----------memory---------- ---swap-------io---- --system-- -----cpu------ ---timestamp---
4.    r b   swpd   free  buff  cache   si  so    bi    bo   in   csus sy id wa st
5.    0  0     0 632028  24992 192244    0    0    70     5   55   78  1  3 95  1  0       2012-09-02 14:57:18 IST
6.    1  0     0 632028  24992 192244    0    0     0     0  171  514  1  5 94  0  0       2012-09-02 14:57:19 IST
7.    1  0     0 631904  24992 192244    0    0     0     0  195  600  0  5 95  0  0       2012-09-02 14:57:20 IST
8.    0  0     0 631780  24992 192244    0    0     0     0  156  524  0  5 95  0  0       2012-09-02 14:57:21 IST
9.    1  0     0 631656  24992 192244    0    0     0     0  189  592  0  5 95  0  0       2012-09-02 14:57:22 IST
4. 统计各种计数器
vmstat命令的-s参数,将输出各种事件计数器和内存的统计信息。
1.   [tecmint@tecmint ~]$ vmstat -s
2.   
3.         1030800  total memory
4.          524656 used memory
5.          277784 active memory
6.          185920 inactive memory
7.          506144 free memory
8.           26864 buffer memory
9.          310104 swap cache
10.        2064376  total swap
11.              0  used swap
12.        2064376  free swap
13.           4539 non-nice user cpu ticks
14.              0 nice user cpu ticks
15.          11569 system cpu ticks
16.         329608 idle cpu ticks
17.           5012 IO-wait cpu ticks
18.             79 IRQ cpu ticks
19.             74 softirq cpu ticks
20.              0 stolen cpu ticks
21.         336038 pages paged in
22.          67945 pages paged out
23.              0 pages swapped in
24.              0 pages swapped out
25.         258526 interrupts
26.         392439 CPU context switches
27.     1346574857boot time
28.       2309 forks
5. 磁盘统计信息
vmstat-d参数将会输出所有磁盘的统计信息。
1.   [tecmint@tecmint ~]$ vmstat -d
2.   
3.   disk- ------------reads------------ ------------writes----------------IO------
4.          total merged sectors      ms total merged sectors      ms    cur   sec
5.   ram0       0      0       0       0      0      0       0       0      0      0
6.   ram1       0      0       0       0      0      0       0       0      0      0
7.   ram2       0      0       0       0      0      0       0       0      0      0
8.   ram3       0      0       0       0      0      0       0       0      0      0
9.   ram4       0      0       0       0      0      0       0       0      0      0
10.  ram5       0      0       0       0      0      0       0       0      0      0
11.  ram6       0      0       0       0      0      0       0       0      0      0
12.  ram7       0      0       0       0      0      0       0       0      0      0
13.  ram8       0      0       0       0      0      0       0       0      0      0
14.  ram9       0      0       0       0      0      0       0       0      0      0
15.  ram10      0      0       0       0      0      0       0       0      0      0
16.  ram11      0      0       0       0      0      0       0       0      0      0
17.  ram12      0      0       0       0      0      0       0       0      0      0
18.  ram13      0      0       0       0      0      0       0       0      0      0
19.  ram14      0      0       0       0      0      0       0       0      0      0
20.  ram15      0      0       0       0      0      0       0       0      0      0
21.  loop0      0      0       0       0      0      0       0       0      0      0
22.  loop1      0      0       0       0      0      0       0       0      0      0
23.  loop2      0      0       0       0      0      0       0       0      0      0
24.  loop3     0      0       0       0      0      0       0       0      0      0
25.  loop4      0      0       0       0      0      0       0       0      0      0
26.  loop5      0      0       0       0      0      0       0       0      0      0
27.  loop6      0      0       0      0     0     0      0      0     0     0
28.  loop7      0      0       0       0      0      0       0       0      0      0
29.  sr0        0      0       0       0      0      0       0       0      0      0
30.  sda    7712  5145  668732  409619   3282  28884  257402  644566     0   126
31.  dm-0   11578     0  659242 1113017  32163      0  257384 8460026     0   126
32.  dm-1     324     0   2592   3845     0     0      0      0     0     2
6. 以MB为单位输出统计信息
vmstat-S-M参数(大写和MB)将会以MB为单位输出。vmstat默认以KB为单位输出统计信息。
1.   [root@tecmint ~]# vmstat -S M 1 5
2.   
3.   procs -----------memory---------- ---swap-------io---- --system-- -----cpu-----
4.    r b   swpd   free  buff  cache   si  so    bi    bo   in   csus sy id wa st
5.    0  0     0   346     53    476    0    0    95     8   42   55  0  2 96  2  0
6.    0  0     0   346    53   476   0   0    0    0  12  15  0  0 100  0  0
7.    0  0     0   346    53   476   0   0    0    0  32  62  0  0 100  0  0
8.    0  0     0   346    53   476   0   0    0    0  15  13  0  0 100  0  0
9.    0  0     0   346    53   476   0   0    0    0  34  61  0  1 99  0  0
linux下的Iostat命令的6个范例
1. 输出CPU和输入/输出(I/O)的统计信息
不带参数的iostat命令将会输出CPU和每个分区的输出/输出的统计信息,如下所示。
1.   [root@tecmint ~]# iostat
2.   
3.   Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012     _i686_  (1 CPU)
4.   
5.   avg-cpu: %user   %nice %system %iowait  %steal  %idle
6.              0.12    0.01    1.54    2.08    0.00   96.24
7.   
8.   Device:           tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
9.   sda               3.59      161.02       13.48   1086002     90882
10.  dm-0              5.76      159.71       13.47   1077154     90864
11.  dm-1              0.05        0.38        0.00      2576         0
2. 只输出CPU的统计信息
iostat命令的-c参数仅输出CPU的统计信息,如下所示。
1.   [root@tecmint ~]# iostat -c
2.   
3.   Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012     _i686_  (1 CPU)
4.   
5.   avg-cpu: %user   %nice %system %iowait  %steal  %idle
6.              0.12    0.01    1.47    1.98    0.00   96.42
3. 只输出磁盘的输入/输出统计信息
iostat命令的-d参数仅输出磁盘的所有分区的输入/输出的统计信息,如下所示。
1.   [root@tecmint ~]# iostat -d
2.   
3.   Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012     _i686_  (1 CPU)
4.   
5.   Device:           tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
6.   sda               3.35      149.81       12.66   1086002     91746
7.   dm-0              5.37      148.59       12.65   1077154     91728
8.   dm-1              0.04        0.36        0.00      2576         0
4. 只输出某个磁盘的输入/输出统计信息
在默认情况下iostat命令会输出所有分区的统计信息,但是若在iostat命令后加上-p参数和磁盘设备名,该命令将会仅输出列出的磁盘的输入/输出统计信息,如下所示。
1.   [root@tecmint ~]# iostat -p sda
2.   
3.   Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012     _i686_  (1 CPU)
4.   
5.   avg-cpu: %user   %nice %system %iowait  %steal  %idle
6.              0.11    0.01    1.44    1.92    0.00   96.52
7.   
8.   Device:           tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
9.   sda               3.32      148.52       12.55   1086002     91770
10.  sda1              0.07        0.56        0.00      4120        18
11.  sda2              3.22      147.79       12.55   1080650     91752
5. 输出逻辑卷管理(LVM)的统计信息
iostat命令的-N(大写)参数将会输出LVM(LCTT译注:LVM是linux环境下对磁盘分区进行管理的一种机制,是磁盘分区和文件系统间的一个逻辑层)的统计信息,如下所示。
1.   [root@tecmint ~]# iostat -N
2.   
3.   Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012     _i686_  (1 CPU)
4.   
5.   avg-cpu: %user   %nice %system %iowait  %steal  %idle
6.              0.11    0.01    1.39    1.85    0.00   96.64
7.   
8.   Device:           tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
9.   sda               3.20      142.84       12.16   1086002     92466
10.  vg_tecmint-lv_root     5.13       141.68       12.16   1077154     92448
11.  vg_tecmint-lv_swap     0.04         0.34        0.00      2576         0
6. iostat版本信息
iostat的-V(大写)参数将会输出iostat的版本信息,如下所示。
1.   [root@tecmint ~]# iostat -V
2.   
3.   sysstat version 9.0.4
4.   (C) Sebastien Godard (sysstat  orange.fr)

打赏鼓励作者,期待更多好文!

打赏
1人已打赏

沧海 发表于 2023-1-8 17:27
  
感谢楼主分享,学习一下
一个无趣的人 发表于 2023-4-2 10:52
  
感谢楼主分享,学习一下
发表新帖
热门标签
全部标签>
每日一问
技术盲盒
技术笔记
干货满满
技术咨询
产品连连看
新版本体验
功能体验
标准化排查
GIF动图学习
通用技术
自助服务平台操作指引
2023技术争霸赛专题
运维工具
信服课堂视频
秒懂零信任
技术晨报
安装部署配置
用户认证
答题自测
深信服技术支持平台
SDP百科
设备维护
社区帮助指南
每日一记
玩转零信任
畅聊IT
专家问答
技术圆桌
在线直播
MVP
网络基础知识
升级
安全攻防
上网策略
测试报告
日志审计
问题分析处理
流量管理
云计算知识
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
功能咨询
终端接入
授权
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
产品预警公告
信服圈儿
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
文档捉虫活动
齐鲁TV
华北区交付直播
每周精选

本版版主

217
274
151

发帖

粉丝

关注

本版达人

皮皮虾·真

本周建议达人

郑州网络

本周分享达人

二进制网络

本周提问达人