導讀 | 這是我們正在進行的 和性能監控系列的一部分。vmstat和iostat兩個 都適用于所有主要的類unix系統 |
如果vmstat和iostat命令在你的系統中不可用,請安裝sysstat軟件包。vmstat,sar和iostat命令都包含在sysstat(系統監控工具)軟件包中。iostat命令生成CPU和所有設備的統計信息。你可以從()下載源代碼包編譯安裝sysstat,但是我們建議通過YUM命令進行安裝。
#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:
作者: 譯者: 校對:
本文由 原創翻譯, 榮譽推出
原文來自: