导读 | 这是我们正在进行的 和性能监控系列的一部分。vmstat和iostat两个 都适用于所有主要的类unix系统 |
如果vmstat和iostat命令在你的系统中不可用,请安装sysstat软件包。vmstat,sar和iostat命令都包含在sysstat(系统监控工具)软件包中。iostat命令生成CPU和所有设备的统计信息。你可以从()下载源代码包编译安装sysstat,但是我们建议通过YUM命令进行安装。
在 中安装sysstat
#yum-yinstallsysstat
vmstat - 内存,进程和分页等的简要信息。
iostat - CPU统计信息,设备和分区的输入/输出统计信息。
如下范例中输出6列。vmstat的man页面中解析的每一列的意义。最重要的是内存中的free属性和交换分区中的si和so属性。
[root@tecmint~]#vmstat-a procs-----------memory-------------swap-------io------system-------cpu----- rbswpdfreeinactactivesisobiboincsussyidwast 10081042097380706280011548979169030
Free – 空闲的内存空间
•si – 每秒从磁盘中交换进内存的数据量(以KB为单位)。
•so – 每秒从内存中交换出磁盘的数据量(以KB为单位)。
注意:如果你不带参数的执行vmstat命令,它会输出自系统启动以来的总结报告。
2. 每X秒执行vmstat,共执行N次下面命令将会每2秒中执行一次vmstat,执行6次后自动停止执行。
[root@tecmint~]#vmstat26 procs-----------memory-------------swap-------io------system-------cpu----- rbswpdfreebuffcachesisobiboincsussyidwast 00081042022064101368005635057039520 00081041222064101368000016350010000 00081041222064101368000014350010000 00081041222064101368000017380010000 00081041222064101368000017350010000 000810412220641013680000183601100003. 带时间戳的vmstat命令
带-t参数执行vmstat命令,该命令将会在每一行输出后都带一个时间戳,如下所示。
[tecmint@tecmint~]$vmstat-t15 procs-----------memory-------------swap-------io------system-------cpu---------timestamp--- rbswpdfreebuffcachesisobiboincsussyidwast 000632028249921922440070555781395102012-09-0214:57:18IST 1006320282499219224400001715141594002012-09-0214:57:19IST 1006319042499219224400001956000595002012-09-0214:57:20IST 0006317802499219224400001565240595002012-09-0214:57:21IST 1006316562499219224400001895920595002012-09-0214:57:22IST4. 统计各种计数器
vmstat命令的-s参数,将输出各种事件计数器和内存的统计信息。
vmstat命令的-s参数,将输出各种事件计数器和内存的统计信息。 [tecmint@tecmint~]$vmstat-s 1030800totalmemory 524656usedmemory 277784activememory 185920inactivememory 506144freememory 26864buffermemory 310104swapcache 2064376totalswap 0usedswap 2064376freeswap 4539non-niceusercputicks 0niceusercputicks 11569systemcputicks 329608idlecputicks 5012IO-waitcputicks 79IRQcputicks 74softirqcputicks 0stolencputicks 336038pagespagedin 67945pagespagedout 0pagesswappedin 0pagesswappedout 258526interrupts 392439CPUcontextswitches 1346574857boottime 2309forks5. 磁盘统计信息
vmstat的-d参数将会输出所有磁盘的统计信息。
[tecmint@tecmint~]$vmstat-d disk-------------reads------------------------writes----------------IO------ totalmergedsectorsmstotalmergedsectorsmscursec ram00000000000 ram10000000000 ram20000000000 ram30000000000 ram40000000000 ram50000000000 ram60000000000 ram70000000000 ram80000000000 ram90000000000 ram100000000000 ram110000000000 ram120000000000 ram130000000000 ram140000000000 ram150000000000 loop00000000000 loop10000000000 loop20000000000 loop30000000000 loop40000000000 loop50000000000 loop60000000000 loop70000000000 sr00000000000 sda771251456687324096193282288842574026445660126 dm-0115780659242111301732163025738484600260126 dm-13240259238450000026. 以MB为单位输出统计信息
vmstat的-S和-M参数(大写和MB)将会以MB为单位输出。vmstat默认以KB为单位输出统计信息。
[root@tecmint~]#vmstat-SM15 procs-----------memory-------------swap-------io------system-------cpu----- rbswpdfreebuffcachesisobiboincsussyidwast 00034653476009584255029620 00034653476000012150010000 00034653476000032620010000 00034653476000015130010000 0003465347600003461019900linux下的Iostat命令的6个范例 1. 输出CPU和输入/输出(I/O)的统计信息
不带参数的iostat命令将会输出CPU和每个分区的输出/输出的统计信息,如下所示。
[root@tecmint~]#iostat Linux2.6.32-279.el6.i686(tecmint.com)09/03/2012_i686_(1CPU) avg-cpu:%user%nice%system%iowait%steal%idle 0.120.011.542.080.0096.24 Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn sda3.59161.0213.48108600290882 dm-05.76159.7113.47107715490864 dm-10.050.380.00257602. 只输出CPU的统计信息
iostat命令的-c参数仅输出CPU的统计信息,如下所示。
[root@tecmint~]#iostat-c Linux2.6.32-279.el6.i686(tecmint.com)09/03/2012_i686_(1CPU) avg-cpu:%user%nice%system%iowait%steal%idle 0.120.011.471.980.0096.423. 只输出磁盘的输入/输出统计信息
iostat命令的-d参数仅输出磁盘的所有分区的输入/输出的统计信息,如下所示。
[root@tecmint~]#iostat-d Linux2.6.32-279.el6.i686(tecmint.com)09/03/2012_i686_(1CPU) Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn sda3.35149.8112.66108600291746 dm-05.37148.5912.65107715491728 dm-10.040.360.00257604. 只输出某个磁盘的输入/输出统计信息
在默认情况下iostat命令会输出所有分区的统计信息,但是若在iostat命令后加上-p参数和磁盘设备名,该命令将会仅输出列出的磁盘的输入/输出统计信息,如下所示。
[root@tecmint~]#iostat-psda Linux2.6.32-279.el6.i686(tecmint.com)09/03/2012_i686_(1CPU) avg-cpu:%user%nice%system%iowait%steal%idle 0.110.011.441.920.0096.52 Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn sda3.32148.5212.55108600291770 sda10.070.560.00412018 sda23.22147.7912.551080650917525. 输出逻辑卷管理(LVM)的统计信息
iostat命令的-N(大写)参数将会输出LVM(LCTT译注:LVM是linux环境下对磁盘分区进行管理的一种机制,是磁盘分区和文件系统间的一个逻辑层)的统计信息,如下所示。
[root@tecmint~]#iostat-N Linux2.6.32-279.el6.i686(tecmint.com)09/03/2012_i686_(1CPU) avg-cpu:%user%nice%system%iowait%steal%idle 0.110.011.391.850.0096.64 Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtn sda3.20142.8412.16108600292466 vg_tecmint-lv_root5.13141.6812.16107715492448 vg_tecmint-lv_swap0.040.340.00257606. iostat版本信息
iostat的-V(大写)参数将会输出iostat的版本信息,如下所示。
[root@tecmint~]#iostat-V sysstatversion9.0.4 (C)SebastienGodard(sysstatorange.fr)
注意:vmstat和iostat的输出中包含多列的数据和标志,限于篇幅无法在本文中进行详细的解析。如果你想知道更多的信息,请查看vmstat和iostat的man帮助手册。如果你觉得本文对你有价值,请在下面的评论框中与你的朋友分享。
via:
作者: 译者: 校对:
本文由 原创翻译, 荣誉推出
原文来自: