進行Linux效能監控的命令介紹

大雄45發表於2023-11-09
導讀 這是我們正在進行的 和效能監控系列的一部分。vmstat和iostat兩個 都適用於所有主要的類unix系統

如果vmstat和iostat命令在你的系統中不可用,請安裝sysstat軟體包。vmstat,sar和iostat命令都包含在sysstat(系統監控工具)軟體包中。iostat命令生成CPU和所有裝置的統計資訊。你可以從()下載原始碼包編譯安裝sysstat,但是我們建議透過YUM命令進行安裝。

進行Linux效能監控的命令介紹進行Linux效能監控的命令介紹

在 中安裝sysstat
#yum -y install sysstat

vmstat - 記憶體,程式和分頁等的簡要資訊。
iostat - CPU統計資訊,裝置和分割槽的輸入/輸出統計資訊。

Linux下vmstat命令的6個範例
1. 列出活動和非活動的記憶體

如下範例中輸出6列。vmstat的man頁面中解析的每一列的意義。最重要的是記憶體中的free屬性和交換分割槽中的si和so屬性。

[root@tecmint ~]# vmstat -a
 
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 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次後自動停止執行。

[root@tecmint ~]# vmstat 2 6
 
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 810420  22064 101368    0    0    56     3   50   57  0  3 95  2  0
 0  0      0 810412  22064 101368    0    0     0     0   16   35  0  0 100  0  0
 0  0      0 810412  22064 101368    0    0     0     0   14   35  0  0 100  0  0
 0  0      0 810412  22064 101368    0    0     0     0   17   38  0  0 100  0  0
 0  0      0 810412  22064 101368    0    0     0     0   17   35  0  0 100  0  0
 0  0      0 810412  22064 101368    0    0     0     0   18   36  0  1 100  0  0
3. 帶時間戳的vmstat命令

帶-t引數執行vmstat命令,該命令將會在每一行輸出後都帶一個時間戳,如下所示。

[tecmint@tecmint ~]$ vmstat -t 1 5
 
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp---
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 632028  24992 192244    0    0    70     5   55   78  1  3 95  1  0        2012-09-02 14:57:18 IST
 1  0      0 632028  24992 192244    0    0     0     0  171  514  1  5 94  0  0        2012-09-02 14:57:19 IST
 1  0      0 631904  24992 192244    0    0     0     0  195  600  0  5 95  0  0        2012-09-02 14:57:20 IST
 0  0      0 631780  24992 192244    0    0     0     0  156  524  0  5 95  0  0        2012-09-02 14:57:21 IST
 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引數,將輸出各種事件計數器和記憶體的統計資訊。

vmstat命令的-s引數,將輸出各種事件計數器和記憶體的統計資訊。
[tecmint@tecmint ~]$ vmstat -s
 
      1030800  total memory
       524656  used memory
       277784  active memory
       185920  inactive memory
       506144  free memory
        26864  buffer memory
       310104  swap cache
      2064376  total swap
            0  used swap
      2064376  free swap
         4539 non-nice user cpu ticks
            0 nice user cpu ticks
        11569 system cpu ticks
      329608 idle cpu ticks
         5012 IO-wait cpu ticks
           79 IRQ cpu ticks
           74 softirq cpu ticks
            0 stolen cpu ticks
       336038 pages paged in
        67945 pages paged out
            0 pages swapped in
            0 pages swapped out
       258526 interrupts
       392439 CPU context switches
   1346574857 boot time
     2309 forks
5. 磁碟統計資訊

vmstat的-d引數將會輸出所有磁碟的統計資訊。

[tecmint@tecmint ~]$ vmstat -d
 
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
ram0       0      0       0       0      0      0       0       0      0      0
ram1       0      0       0       0      0      0       0       0      0      0
ram2       0      0       0       0      0      0       0       0      0      0
ram3       0      0       0       0      0      0       0       0      0      0
ram4       0      0       0       0      0      0       0       0      0      0
ram5       0      0       0       0      0      0       0       0      0      0
ram6       0      0       0       0      0      0       0       0      0      0
ram7       0      0       0       0      0      0       0       0      0      0
ram8       0      0       0       0      0      0       0       0      0      0
ram9       0      0       0       0      0      0       0       0      0      0
ram10      0      0       0       0      0      0       0       0      0      0
ram11      0      0       0       0      0      0       0       0      0      0
ram12      0      0       0       0      0      0       0       0      0      0
ram13      0      0       0       0      0      0       0       0      0      0
ram14      0      0       0       0      0      0       0       0      0      0
ram15      0      0       0       0      0      0       0       0      0      0
loop0      0      0       0       0      0      0       0       0      0      0
loop1      0      0       0       0      0      0       0       0      0      0
loop2      0      0       0       0      0      0       0       0      0      0
loop3      0      0       0       0      0      0       0       0      0      0
loop4      0      0       0       0      0      0       0       0      0      0
loop5      0      0       0       0      0      0       0       0      0      0
loop6      0      0       0       0      0      0       0       0      0      0
loop7      0      0       0       0      0      0       0       0      0      0
sr0        0      0       0       0      0      0       0       0      0      0
sda     7712   5145  668732  409619   3282  28884  257402  644566      0    126
dm-0   11578      0  659242 1113017  32163      0  257384 8460026      0    126
dm-1     324      0    2592    3845      0      0       0       0      0      2
6. 以MB為單位輸出統計資訊

vmstat的-S和-M引數(大寫和MB)將會以MB為單位輸出。vmstat預設以KB為單位輸出統計資訊。

[root@tecmint ~]# vmstat -S M 1 5
 
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0    346     53    476    0    0    95     8   42   55  0  2 96  2  0
 0  0      0    346     53    476    0    0     0     0   12   15  0  0 100  0  0
 0  0      0    346     53    476    0    0     0     0   32   62  0  0 100  0  0
 0  0      0    346     53    476    0    0     0     0   15   13  0  0 100  0  0
 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和每個分割槽的輸出/輸出的統計資訊,如下所示。

[root@tecmint ~]# iostat
 
Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)
 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.12    0.01    1.54    2.08    0.00   96.24
 
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               3.59       161.02        13.48    1086002      90882
dm-0              5.76       159.71        13.47    1077154      90864
dm-1              0.05         0.38         0.00       2576          0
2. 只輸出CPU的統計資訊

iostat命令的-c引數僅輸出CPU的統計資訊,如下所示。

[root@tecmint ~]# iostat -c
 
Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)
 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.12    0.01    1.47    1.98    0.00   96.42
3. 只輸出磁碟的輸入/輸出統計資訊

iostat命令的-d引數僅輸出磁碟的所有分割槽的輸入/輸出的統計資訊,如下所示。

[root@tecmint ~]# iostat -d
 
Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)
 
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               3.35       149.81        12.66    1086002      91746
dm-0              5.37       148.59        12.65    1077154      91728
dm-1              0.04         0.36         0.00       2576          0
4. 只輸出某個磁碟的輸入/輸出統計資訊

在預設情況下iostat命令會輸出所有分割槽的統計資訊,但是若在iostat命令後加上-p引數和磁碟裝置名,該命令將會僅輸出列出的磁碟的輸入/輸出統計資訊,如下所示。

[root@tecmint ~]# iostat -p sda
 
Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)
 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.11    0.01    1.44    1.92    0.00   96.52
 
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               3.32       148.52        12.55    1086002      91770
sda1              0.07         0.56         0.00       4120         18
sda2              3.22       147.79        12.55    1080650      91752
5. 輸出邏輯卷管理(LVM)的統計資訊

iostat命令的-N(大寫)引數將會輸出LVM(LCTT譯註:LVM是linux環境下對磁碟分割槽進行管理的一種機制,是磁碟分割槽和檔案系統間的一個邏輯層)的統計資訊,如下所示。

[root@tecmint ~]# iostat -N
 
Linux 2.6.32-279.el6.i686 (tecmint.com)         09/03/2012      _i686_  (1 CPU)
 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.11    0.01    1.39    1.85    0.00   96.64
 
Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               3.20       142.84        12.16    1086002      92466
vg_tecmint-lv_root     5.13       141.68        12.16    1077154      92448
vg_tecmint-lv_swap     0.04         0.34         0.00       2576          0
6. iostat版本資訊

iostat的-V(大寫)引數將會輸出iostat的版本資訊,如下所示。

[root@tecmint ~]# iostat -V
 
sysstat version 9.0.4
(C) Sebastien Godard (sysstat  orange.fr)

注意:vmstat和iostat的輸出中包含多列的資料和標誌,限於篇幅無法在本文中進行詳細的解析。如果你想知道更多的資訊,請檢視vmstat和iostat的man幫助手冊。如果你覺得本文對你有價值,請在下面的評論框中與你的朋友分享。


via: 

作者:  譯者:  校對:

本文由   原創翻譯,  榮譽推出

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2987791/,如需轉載,請註明出處,否則將追究法律責任。

相關文章