Linux中國

pidstat – 監控並統計Linux進程的數據

如何安裝pidstat

pidstatsysstat軟體套件的一部分,sysstat包含很多監控linux系統狀態的工具,它能夠從大多數linux發行版的軟體源中獲得。

在Debian/Ubuntu系統中可以使用下面的命令來安裝

# apt-get install sysstat

CentOS/Fedora/RHEL版本的linux中則使用下面的命令:

# yum install sysstat

使用pidstat

使用pidstat不加任何參數等價於加上-p參數,但是只有正在活動的任務會被顯示出來。

# pidstat

pidstat

在結果中你能看到如下內容:

  • PID - 被監控的任務的進程號
  • %usr - 當在用戶層執行(應用程序)時這個任務的cpu使用率,和 nice 優先順序無關。注意這個欄位計算的cpu時間不包括在虛擬處理器中花去的時間。
  • %system - 這個任務在系統層使用時的cpu使用率。
  • %guest - 任務花費在虛擬機上的cpu使用率(運行在虛擬處理器)。
  • %CPU - 任務總的cpu使用率。在SMP環境(多處理器)中,如果在命令行中輸入-I參數的話,cpu使用率會除以你的cpu數量。
  • CPU - 正在運行這個任務的處理器編號。
  • Command - 這個任務的命令名稱。

I/O 統計數據

通過使用-d參數來得到I/O的統計數據。比如:

# pidstat -d -p 8472

pidstat io

IO 輸出會顯示一些內的條目:

  • kB_rd/s - 任務從硬碟上的讀取速度(kb)
  • kB_wr/s - 任務向硬碟中的寫入速度(kb)
  • kB_ccwr/s - 任務寫入磁碟被取消的速率(kb)

頁面失敗和內存使用

使用-r標記你能夠得到內存使用情況的數據。

pidstat pf mem

重要的條目:

  • minflt/s - 從內存中載入數據時每秒出現的小的錯誤的數目,這些不要求從磁碟載入內存頁面。
  • majflt/s - 從內存中載入數據時每秒出現的較大錯誤的數目,這些要求從磁碟載入內存頁面。
  • VSZ - 虛擬容量:整個進程的虛擬內存使用(kb)
  • RSS - 長期內存使用:任務的不可交換物理內存的使用量(kb)

舉例

1. 你可以通過使用下面的命令來監測內存使用

# pidstat -r 2 5

這會給你5份關於page faults的統計數據結果,間隔2秒。這將會更容易的定位出現問題的進程。

2. 顯示所有mysql伺服器的子進程

# pidstat -T CHILD -C mysql

3. 將所有的統計數據結合到一個便於閱讀的單一報告中:

# pidstat -urd -h

via: http://linoxide.com/linux-command/linux-pidstat-monitor-statistics-procesess/

作者:Adrian Dinu 譯者:John 校對:wxy

本文由 LCTT 原創翻譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國