阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

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

132次阅读
没有评论

共计 9375 个字符,预计需要花费 24 分钟才能阅读完成。

这是我们正在进行的 Linux 命令和性能监控系列的一部分。vmstatiostat 两个命令都适用于所有主要的类 unix 系统(Linux/unix/FreeBSD/Solaris)。

如果 vmstatiostat命令在你的系统中不可用,请安装 sysstat 软件包。vmstatsariostat 命令都包含在 sysstat(系统监控工具)软件包中。iostat 命令生成CPU 和所有设备的统计信息。你可以从这个连接中下载源代码包编译安装 sysstat,但是我们建议通过 YUM 命令进行安装。

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

Linux vmstat 命令详解 http://www.linuxidc.com/Linux/2013-03/80983.htm

Linux 下 vmstat 显示结果详解 http://www.linuxidc.com/Linux/2013-01/77497.htm

Linux 监控工具之 vmstat 详解 http://www.linuxidc.com/Linux/2012-09/71295.htm

Linux vmstat 命令实战详解 http://www.linuxidc.com/Linux/2012-06/61771.htm

Linux vmstat 监控系统负载 http://www.linuxidc.com/Linux/2012-01/51340.htm

vmstat 命令详解——Linux 性能分析 http://www.linuxidc.com/Linux/2014-06/102884.htm

在 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. 10081042097380706280011548979169030
  • Free – 空闲的内存空间
  • si – 每秒从磁盘中交换进内存的数据量(以 KB 为单位)。
  • so – 每秒从内存中交换出磁盘的数据量(以 KB 为单位)。

注意 :如果你不带参数的执行vmstat 命令,它会输出自系统启动以来的总结报告。

2. 每 X 秒执行 vmstat,共执行 N 次

下面命令将会每 2 秒中执行一次vmstat,执行 6 次后自动停止执行。

  1. [root@tecmint ~]# vmstat 26
  2.  
  3. procs ———–memory———-swap—–io—-system—–cpu—–
  4. r b swpd free buff cache si so bi bo in cs us sy id wa st
  5. 00081042022064101368005635057039520
  6. 00081041222064101368000016350010000
  7. 00081041222064101368000014350010000
  8. 00081041222064101368000017380010000
  9. 00081041222064101368000017350010000
  10. 00081041222064101368000018360110000

3. 带时间戳的 vmstat 命令

-t 参数执行 vmstat 命令,该命令将会在每一行输出后都带一个时间戳,如下所示。

  1. [tecmint@tecmint ~]$ vmstat t 15
  2.  
  3. procs ———–memory———-swap—–io—-system—–cpu——timestamp
  4. r b swpd free buff cache si so bi bo in cs us sy id wa st
  5. 000632028249921922440070555781395102012090214:57:18 IST
  6. 1006320282499219224400001715141594002012090214:57:19 IST
  7. 1006319042499219224400001956000595002012090214:57:20 IST
  8. 0006317802499219224400001565240595002012090214:57:21 IST
  9. 1006316562499219224400001895920595002012090214: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 nonnice user cpu ticks
  14. 0 nice user cpu ticks
  15. 11569 system cpu ticks
  16. 329608 idle cpu ticks
  17. 5012 IOwait 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. 1346574857 boot 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 0000000000
  6. ram1 0000000000
  7. ram2 0000000000
  8. ram3 0000000000
  9. ram4 0000000000
  10. ram5 0000000000
  11. ram6 0000000000
  12. ram7 0000000000
  13. ram8 0000000000
  14. ram9 0000000000
  15. ram10 0000000000
  16. ram11 0000000000
  17. ram12 0000000000
  18. ram13 0000000000
  19. ram14 0000000000
  20. ram15 0000000000
  21. loop0 0000000000
  22. loop1 0000000000
  23. loop2 0000000000
  24. loop3 0000000000
  25. loop4 0000000000
  26. loop5 0000000000
  27. loop6 0000000000
  28. loop7 0000000000
  29. sr0 0000000000
  30. sda 771251456687324096193282288842574026445660126
  31. dm0115780659242111301732163025738484600260126
  32. dm1324025923845000002

6. 以 MB 为单位输出统计信息

vmstat-S-M参数(大写和 MB)将会以 MB 为单位输出。vmstat默认以 KB 为单位输出统计信息。

  1. [root@tecmint ~]# vmstat S M 15
  2.  
  3. procs ———–memory———-swap—–io—-system—–cpu—–
  4. r b swpd free buff cache si so bi bo in cs us sy id wa st
  5. 00034653476009584255029620
  6. 00034653476000012150010000
  7. 00034653476000032620010000
  8. 00034653476000015130010000
  9. 0003465347600003461019900

 

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-10/108135p2.htm

linux 下的 Iostat 命令的 6 个范例

1. 输出 CPU 和输入 / 输出(I/O)的统计信息

不带参数的 iostat 命令将会输出 CPU 和每个分区的 输出 / 输出 的统计信息,如下所示。

  1. [root@tecmint ~]# iostat
  2.  
  3. Linux2.6.32279.el6.i686(tecmint.com)09/03/2012 _i686_ (1 CPU)
  4.  
  5. avgcpu:%user %nice %system %iowait %steal %idle
  6. 0.120.011.542.080.0096.24
  7.  
  8. Device: tps Blk_read/s Blk_wrtn/s Blk_readBlk_wrtn
  9. sda 3.59161.0213.48108600290882
  10. dm05.76159.7113.47107715490864
  11. dm10.050.380.0025760

2. 只输出 CPU 的统计信息

iostat命令的 -c 参数仅输出 CPU 的统计信息,如下所示。

  1. [root@tecmint ~]# iostat c
  2.  
  3. Linux2.6.32279.el6.i686(tecmint.com)09/03/2012 _i686_ (1 CPU)
  4.  
  5. avgcpu:%user %nice %system %iowait %steal %idle
  6. 0.120.011.471.980.0096.42

3. 只输出磁盘的输入 / 输出统计信息

iostat命令的 -d 参数仅输出磁盘的所有分区的 输入 / 输出 的统计信息,如下所示。

  1. [root@tecmint ~]# iostat d
  2.  
  3. Linux2.6.32279.el6.i686(tecmint.com)09/03/2012 _i686_ (1 CPU)
  4.  
  5. Device: tps Blk_read/s Blk_wrtn/s Blk_readBlk_wrtn
  6. sda 3.35149.8112.66108600291746
  7. dm05.37148.5912.65107715491728
  8. dm10.040.360.0025760

4. 只输出某个磁盘的输入 / 输出统计信息

在默认情况下 iostat 命令会输出所有分区的统计信息,但是若在 iostat 命令后加上 -p 参数和磁盘设备名,该命令将会仅输出列出的磁盘的输入 / 输出统计信息,如下所示。

  1. [root@tecmint ~]# iostat p sda
  2.  
  3. Linux2.6.32279.el6.i686(tecmint.com)09/03/2012 _i686_ (1 CPU)
  4.  
  5. avgcpu:%user %nice %system %iowait %steal %idle
  6. 0.110.011.441.920.0096.52
  7.  
  8. Device: tps Blk_read/s Blk_wrtn/s Blk_readBlk_wrtn
  9. sda 3.32148.5212.55108600291770
  10. sda1 0.070.560.00412018
  11. sda2 3.22147.7912.55108065091752

5. 输出逻辑卷管理(LVM)的统计信息

iostat 命令的 -N(大写) 参数将会输出LVM(LCTT 译注:LVM 是 linux 环境下对磁盘分区进行管理的一种机制,是磁盘分区和文件系统间的一个逻辑层)的统计信息,如下所示。

  1. [root@tecmint ~]# iostat N
  2.  
  3. Linux2.6.32279.el6.i686(tecmint.com)09/03/2012 _i686_ (1 CPU)
  4.  
  5. avgcpu:%user %nice %system %iowait %steal %idle
  6. 0.110.011.391.850.0096.64
  7.  
  8. Device: tps Blk_read/s Blk_wrtn/s Blk_readBlk_wrtn
  9. sda 3.20142.8412.16108600292466
  10. vg_tecmintlv_root 5.13141.6812.16107715492448
  11. vg_tecmintlv_swap 0.040.340.0025760

6. iostat 版本信息

iostat 的 -V(大写) 参数将会输出 iostat 的版本信息,如下所示。

  1. [root@tecmint ~]# iostat V
  2.  
  3. sysstat version 9.0.4
  4. (C)SebastienGodard(sysstat orange.fr)

注意 vmstatiostat的输出中包含多列的数据和标志,限于篇幅无法在本文中进行详细的解析。如果你想知道更多的信息,请查看 vmstatiostat的 man 帮助手册。如果你觉得本文对你有价值,请在下面的评论框中与你的朋友分享。

RH442 攻略之 iostat http://www.linuxidc.com/Linux/2014-03/98254.htm

Linux 下使用 iostat 命令生成 CPU 和 I / O 的统计报告 http://www.linuxidc.com/Linux/2014-02/96689.htm

安装 iostat 和 mpstat 工具 http://www.linuxidc.com/Linux/2013-10/91570.htm

Linux iostat 命令输出简要说明 http://www.linuxidc.com/Linux/2013-06/86703.htm

Linux iostat 命令 http://www.linuxidc.com/Linux/2013-03/80163.htm

这是我们正在进行的 Linux 命令和性能监控系列的一部分。vmstatiostat 两个命令都适用于所有主要的类 unix 系统(Linux/unix/FreeBSD/Solaris)。

如果 vmstatiostat命令在你的系统中不可用,请安装 sysstat 软件包。vmstatsariostat 命令都包含在 sysstat(系统监控工具)软件包中。iostat 命令生成CPU 和所有设备的统计信息。你可以从这个连接中下载源代码包编译安装 sysstat,但是我们建议通过 YUM 命令进行安装。

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

Linux vmstat 命令详解 http://www.linuxidc.com/Linux/2013-03/80983.htm

Linux 下 vmstat 显示结果详解 http://www.linuxidc.com/Linux/2013-01/77497.htm

Linux 监控工具之 vmstat 详解 http://www.linuxidc.com/Linux/2012-09/71295.htm

Linux vmstat 命令实战详解 http://www.linuxidc.com/Linux/2012-06/61771.htm

Linux vmstat 监控系统负载 http://www.linuxidc.com/Linux/2012-01/51340.htm

vmstat 命令详解——Linux 性能分析 http://www.linuxidc.com/Linux/2014-06/102884.htm

在 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. 10081042097380706280011548979169030
  • Free – 空闲的内存空间
  • si – 每秒从磁盘中交换进内存的数据量(以 KB 为单位)。
  • so – 每秒从内存中交换出磁盘的数据量(以 KB 为单位)。

注意 :如果你不带参数的执行vmstat 命令,它会输出自系统启动以来的总结报告。

2. 每 X 秒执行 vmstat,共执行 N 次

下面命令将会每 2 秒中执行一次vmstat,执行 6 次后自动停止执行。

  1. [root@tecmint ~]# vmstat 26
  2.  
  3. procs ———–memory———-swap—–io—-system—–cpu—–
  4. r b swpd free buff cache si so bi bo in cs us sy id wa st
  5. 00081042022064101368005635057039520
  6. 00081041222064101368000016350010000
  7. 00081041222064101368000014350010000
  8. 00081041222064101368000017380010000
  9. 00081041222064101368000017350010000
  10. 00081041222064101368000018360110000

3. 带时间戳的 vmstat 命令

-t 参数执行 vmstat 命令,该命令将会在每一行输出后都带一个时间戳,如下所示。

  1. [tecmint@tecmint ~]$ vmstat t 15
  2.  
  3. procs ———–memory———-swap—–io—-system—–cpu——timestamp
  4. r b swpd free buff cache si so bi bo in cs us sy id wa st
  5. 000632028249921922440070555781395102012090214:57:18 IST
  6. 1006320282499219224400001715141594002012090214:57:19 IST
  7. 1006319042499219224400001956000595002012090214:57:20 IST
  8. 0006317802499219224400001565240595002012090214:57:21 IST
  9. 1006316562499219224400001895920595002012090214: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 nonnice user cpu ticks
  14. 0 nice user cpu ticks
  15. 11569 system cpu ticks
  16. 329608 idle cpu ticks
  17. 5012 IOwait 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. 1346574857 boot 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 0000000000
  6. ram1 0000000000
  7. ram2 0000000000
  8. ram3 0000000000
  9. ram4 0000000000
  10. ram5 0000000000
  11. ram6 0000000000
  12. ram7 0000000000
  13. ram8 0000000000
  14. ram9 0000000000
  15. ram10 0000000000
  16. ram11 0000000000
  17. ram12 0000000000
  18. ram13 0000000000
  19. ram14 0000000000
  20. ram15 0000000000
  21. loop0 0000000000
  22. loop1 0000000000
  23. loop2 0000000000
  24. loop3 0000000000
  25. loop4 0000000000
  26. loop5 0000000000
  27. loop6 0000000000
  28. loop7 0000000000
  29. sr0 0000000000
  30. sda 771251456687324096193282288842574026445660126
  31. dm0115780659242111301732163025738484600260126
  32. dm1324025923845000002

6. 以 MB 为单位输出统计信息

vmstat-S-M参数(大写和 MB)将会以 MB 为单位输出。vmstat默认以 KB 为单位输出统计信息。

  1. [root@tecmint ~]# vmstat S M 15
  2.  
  3. procs ———–memory———-swap—–io—-system—–cpu—–
  4. r b swpd free buff cache si so bi bo in cs us sy id wa st
  5. 00034653476009584255029620
  6. 00034653476000012150010000
  7. 00034653476000032620010000
  8. 00034653476000015130010000
  9. 0003465347600003461019900

 

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-10/108135p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计9375字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中