使用pidstat命令監控進程數據

pidstat命令是一種Linux系統監控的命令,使用pidstat命令能夠對Linux系統進程數據進行監控。mysql

如何安裝pidstat

pidstat 是sysstat軟件套件的一部分,sysstat包含不少監控linux系統狀態的工具,它可以從大多數linux發行版的軟件源中得到。linux

在Debian/Ubuntu系統中能夠使用下面的命令來安裝sql

# apt-get install sysstat

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

# yum install sysstat

使用pidstat

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

# pidstat

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

PID - 被監控的任務的進程號

  • %usr - 當在用戶層執行(應用程序)時這個任務的cpu使用率,和 nice 優先級無關。注意這個字段計算的cpu時間不包括在虛擬處理器中花去的時間。命令行

  • %system - 這個任務在系統層使用時的cpu使用率。code

  • %guest - 任務花費在虛擬機上的cpu使用率(運行在虛擬處理器)。blog

  • %CPU - 任務總的cpu使用率。在SMP環境(多處理器)中,若是在命令行中輸入-I參數的話,cpu使用率會除以你的cpu數量。進程

  • CPU - 正在運行這個任務的處理器編號。

  • Command - 這個任務的命令名稱。

I/O 統計數據

經過使用-d參數來獲得I/O的統計數據。好比:

# pidstat -d -p 8472

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

  • kB_rd/s - 任務從硬盤上的讀取速度(kb)

  • kB_wr/s - 任務向硬盤中的寫入速度(kb)

  • kB_ccwr/s - 任務寫入磁盤被取消的速率(kb)

頁面失敗和內存使用

使用-r標記你可以獲得內存使用狀況的數據。

重要的條目:

  • minflt/s - 從內存中加載數據時每秒出現的小的錯誤的數目,這些不要求從磁盤載入內存頁面。

  • majflt/s - 從內存中加載數據時每秒出現的較大錯誤的數目,這些要求從磁盤載入內存頁面。

  • VSZ - 虛擬容量:整個進程的虛擬內存使用(kb)

  • RSS - 長期內存使用:任務的不可交換物理內存的使用量(kb)

舉例

  1. 你能夠經過使用下面的命令來監測內存使用

# pidstat -r 2 5

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

  1. 顯示全部mysql服務器的子進程

# pidstat -T CHILD -C mysql
  1. 將全部的統計數據結合到一個便於閱讀的單一報告中:

# pidstat -urd -h

 

參考連接:https://mp.weixin.qq.com/s/YIsa_14h7iQBemxvHwMZZw

相關文章
相關標籤/搜索