歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux mpstat 命令- 報告處理器的相關統計信息

Linux mpstat 命令- 報告處理器的相關統計信息

日期:2017/2/28 14:37:32   编辑:Linux教程

現在的計算機一般都使用著多處理器或四核單處理器。在服務器端,更多的處理器或核心意味著更強的能力,但另一方面,應用程序也需要更高的能耗。你還可能遇到過這樣的場景:當你的cpu利用率很高時你卻感覺自己根本沒有運行任何程序。以上種種情況,在Linux系統上,你可以使用 mpstate 來監控這樣的活動。

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

實時系統監控工具mpstat 使用詳解 http://www.linuxidc.com/Linux/2012-03/56676.htm

什麼是mpstat

mpstat 用於監控你的系統上cpu的利用率。如果你的系統有多個處理器,它會發揮更大的作用。 第一個處理器會被標記為CPU 0。第二個會被標記為CPU 2,以此類推。在操作手冊中,如下描述mpstat:

mpstat命令把每個可用的處理器的狀態寫到標准輸出,默認第一個處理器為processor 0。所有處理器的全局平均狀態也會以報告形式給出。mpstat命令可以用於SMP和UP的機器上,但是在UP機器上,只有全局平均狀態會被打印出來。如果沒有選擇具體行為,默認將報告CPU的利用率

如何運行mpstat

只需在你的終端輸入 mpstat 就可以運行mpstat.

$ mpstat

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

03:29:29 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:29:29 PM all 6.30 0.06 1.94 3.75 0.00 0.06 0.00 0.00 87.88

如果你發現譬如 命令找不到或者類似的錯誤,說明你可能沒有安裝mpstat。

如果你使用的是 CentOS, RedHat or Fedora,運行下列命令來安裝mpstat

# yum install sysstat

如果你使用的是 Debian, Ubuntu or 它的衍生版, 運行下列命令來安裝mpstat

# apt-get install sysstat

下面是如何理解上面顯示出來的信息。

  • 03:29:29 PM : 指mpstat運行的時間
  • all : 指所有CPU
  • %usr : 顯示在用戶級別(例如應用程序)執行時CPU利用率的百分比
  • %nice :顯示在擁有nice優先級的用戶級別執行時CPU利用率的百分比
  • %sys : 現實在系統級別(例如內核)執行時CPU利用率的百分比
  • %iowait : 顯示在系統有未完成的磁盤I/O請求期間CPU空閒時間的百分比
  • %irq : 顯示CPU服務硬件中斷所花費時間的百分比
  • %soft : 顯示CPU服務軟件中斷所花費時間的百分比
  • %steal : 顯示虛擬機管理器在服務另一個虛擬處理器時虛擬CPU處在非自願等待下花費時間的百分比
  • %guest : 顯示運行虛擬處理器時CPU花費時間的百分比
  • %idle : 顯示CPU空閒和系統沒有未完成的磁盤I/O請求情況下的時間百分比

打印每個處理器的CPU利用率

正如上面的命令結果所示,我們的系統有兩個CPU。如果你願意,你可以使用參數 -P 然後緊跟CPU編號得到指定CPU的利用率。

$ mpstat -P 0

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

03:54:00 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:54:00 PM 0 3.82 0.01 1.16 3.88 0.00 0.06 0.00 0.00 91.06

$ mpstat -P 1
Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

03:53:58 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
03:53:58 PM 1 16.52 0.20 4.48 0.46 0.00 0.04 0.00 0.00 78.30

打印所有CPU的利用率

你也可以在一頁裡打印每個處理器的CPU利用率,只需使用 -P ALL 參數來指定。

$ mpstat -P ALL

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

04:07:36 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
04:07:36 PM all 6.02 0.04 1.72 2.99 0.00 0.05 0.00 0.00 89.17
04:07:36 PM 0 3.84 0.01 1.15 3.72 0.00 0.06 0.00 0.00 91.21
04:07:36 PM 1 13.55 0.15 3.66 0.46 0.00 0.03 0.00 0.00 82.15

使用時間間隔打印CPU利用率

如果你想觀察CPU的利用率變化,你可以使用時間間隔,下面是一個例子。

$ mpstat 3 4

Linux 3.2.0-57-generic (USERNB01) 12/12/2013 _x86_64_ (2 CPU)

04:27:11 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %idle
04:27:14 PM all 0.67 0.00 0.34 0.00 0.00 0.00 0.00 0.00 98.99
04:27:17 PM all 1.17 0.00 0.33 1.33 0.00 0.00 0.00 0.00 97.17
04:27:20 PM all 0.84 0.00 0.17 0.00 0.00 0.00 0.00 0.00 98.99
04:27:23 PM all 1.00 0.00 0.17 1.51 0.00 0.00 0.00 0.00 97.32
Average: all 0.92 0.00 0.25 0.71 0.00 0.00 0.00 0.00 98.12

上面的命令會每隔3秒顯示CPU利用的4個報告

打印mpstat的版本

最後,為了打印mpstat的版本,使用參數 -V

$ mpstat -V

sysstat version 10.0.3
(C) Sebastien Godard (sysstat orange.

這就是在linux系統上快速使用mpstat的方法。想要了解更多細節,可以輸入 man mpstat來查看mpstat的手冊。

Copyright © Linux教程網 All Rights Reserved