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

2022-01-02 Linux中國

pidstat命令用來監控被Linux內核管理的獨立任務(進程)。它輸出每個受內核管理的任務的相關信息。pidstat命令也可以用來監控特定進程的子進程。間隔參數用於指定每次報告間的時間間隔。它的值為0(或者沒有參數)說明進程的統計數據的時間是從系統啟動開始計算的。

如何安裝pidstat

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

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

# apt-get install sysstat

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

# yum install sysstat

使用pidstat

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

# 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

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秒。這將會更容易的定位出現問題的進程。

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安裝使用pidstat命令以對進程數據進行監控
    Linux系統監控的命令其實有很多,pidstat命令就是其中的一種,使用pidstat命令可以對Linux系統進程數據進行監控,
  • Linux 安裝使用 pidstat 命令以對進程數據進行監控
    pidstat命令可以對Linux系統進程數據進行監控,但要先對pidstat進行安裝才能使用,下面小編就給大家介紹下Linux安裝使用pidstat的方法,感興趣的朋友不妨來了解下。pidstat 是sysstat軟體套件的一部分,sysstat包含很多監控linux系統狀態的工具,它能夠從大多數linux發行版的軟體源中獲得。
  • Linux 下 CPU 監控工具
    ----顯示swap空間使用情況統計信息sar -w--- 顯示進程創建以及進程切換統計信息sar -W---顯示swap換入換出統計信息。usr表示用戶空間進程,nice表示nice值大於0的用戶空間進程。
  • Linux常用系統性能監控命令
    >linux可以使用vmstat命令vmstat是Virtual Meomory Statistics(虛擬內存統計)的縮寫, 是實時系統監控工具。該命令通過使用knlist子程序和/dev/kmen偽設備驅動器訪問這些數據,輸出信息直接列印在屏幕。
  • 值得收藏的 14 個 Linux 下 CPU 監控工具
    ----顯示swap空間使用情況統計信息sar -w--- 顯示進程創建以及進程切換統計信息sar -W---顯示swap換入換出統計信息。usr表示用戶空間進程,nice表示nice值大於0的用戶空間進程。
  • 每天學一個 Linux 命令(120):pidstat
    點擊下方「民工哥技術之路」,選擇「設為星標」
  • 介紹15個Linux下 CPU 監控工具
    usr表示用戶空間進程,nice表示nice值大於0的用戶空間進程。7. pidstatpidstat主要用於監控全部或指定進程佔用系統資源的情況。7.1 查看CPU使用情況pidstat首次運行時顯示自系統啟動開始的各項統計信息,之後運行pidstat將顯示自上次運行該命令以後的統計信息。
  • 必備linux命令詳解
    netstat -tnlpvmstatvmstat (虛擬內存統計)可對作業系統的內存、進程、CPU,磁碟進行監控。命令格式:dstat [options] [delay [count]],其中使用 -p pid 選項可針對某一進程進行統計監控options 常用參數解析-l         顯示負載統計量-c         開啟cpu統計-C <CPU>   選項跟著 cpu 的編號,顯示該cpu 的統計
  • 20個命令行工具監控 Linux 系統性能
    /LinuxStory翻譯連結:http://www.linuxstory.org/command-line-tools-to-monitor-linux-performance/對於每個系統管理員或網絡管理員來說,每天要監控和調試 Linux 系統性能問題都是非常困難的工作。
  • 關於 Linux進程,線程,PID,LWP,TID,TGID
    概念太多可能很暈,但是只要對Linux的進程和線程的基本概念有準確的理解,這些ID的含義都迎刃而解。下面將介紹進程和線程的核心概念,並以一個示例程序來驗證這些ID之間的關係。Linux的進程和線程Linux的進程和線程有很多異同點,可以Google下。但只要能清楚地理解一下幾點,則足夠理解Linux中各種ID的含義。
  • 技能篇:開發必備linux命令大全-穩賺不虧
    netstat -tnlpvmstatvmstat (虛擬內存統計)可對作業系統的內存、進程、CPU,磁碟進行監控。命令格式:dstat [options] [delay [count]],其中使用 -p pid 選項可針對某一進程進行統計監控options 常用參數解析-l         顯示負載統計量-c         開啟cpu統計-C <CPU>   選項跟著 cpu 的編號,顯示該cpu 的統計
  • 每個系統管理員都要知道的 30 個 Linux 系統監控工具 | Linux 中國
    您需要監控 Linux 伺服器的性能嗎?試試用這些內置命令和附加工具吧!大多數 Linux 發行版都附帶了大量的監控工具。這些工具提供了獲取系統活動的相關指標。您可以使用這些工具來查找性能問題的可能原因。本文提到的是一些基本的命令,用於系統分析和伺服器調試等,例如:1. top - 進程活動監控命令top 命令會顯示 Linux 的進程。
  • 最常用的20個監控Linux系統性能的命令行工具
    1.top — Linux 系統進程監控top 命令是性能監控程序,它可以在很多 Linux/Unix 版本下使用,並且它也是 Linux 系統管理員經常使用的監控系統性能的工具。tcpdump 是一種使用最廣泛的命令行網絡數據包分析器或數據包嗅探程序,主要用於捕獲和過濾 TCP/IP 包收到或者轉移在一個網絡的特定藉口信息。
  • Linux監控命令全解
    通常用作來將top的輸出的結果傳送給其他程式或儲存成文件-c : 顯示執行任務的命令行-d : 設定延遲時間-h : 幫助-H : 顯示線程。當這個設定開啟時,將顯示所有進程產生的線程-i : 顯示空閒的進程-n : 執行次數。
  • 通過vmstat學習CPU和進程性能監控
    圖1vmstat運行截圖進程是在作業系統中運行的特定程序或執行的任務。進程是程序的運行過程,是隨執行過程不斷變化的實體。和程序包含指令和數據一樣,進程也包含程序計數器和所有CPU寄存器的值,同時它的堆棧中存儲著子程序參數、返回地址以及變量等臨時數據。
  • 適用於Linux的高級實時系統監控工具
    之前,我們已經寫了許多可用於監控Linux系統性能的Linux系統監控工具,但是我們認為,大多數用戶更喜歡Linux發行版附帶的默認工具(top命令)
  • 新春巨獻: 80 多個 Linux 系統管理員必備的監控工具
    NetHogs 打破了網絡流量按協議或子網進行統計的慣例,它以進程來分組。vnStat 是一個網絡流量監控工具,它的數據統計是由內核進行提供的,其消耗的系統資源非常少。系統重新啟動後,它收集的數據仍然存在。有藝術感的系統管理員可以使用它的顏色選項。
  • 理解 Linux 的平均負載和性能監控
    絕大多數類 Unix 系統只統計運行和等待狀態的進程。但是在 Linux 中,平均負載也包括處於不可打斷的睡眠狀態的進程——它們是在等待其它系統資源如磁碟 I/O 等的進程。CPU 平均過載了 235%;最近的 15 分鐘平均有 2.35 個進程在等待 CPU 時間。在雙核系統中意味著:有一個 CPU 處於完全空閒狀態,另一個 CPU 被使用;最近的 1 分鐘沒有進程等待 CPU 時間。CPU 平均 160% 處於空閒狀態;最近的 5 分鐘沒有進程等待 CPU 時間。
  • Linux性能檢測常用的9個基本命令
    )r: 運行隊列中進程數量,這個值也可以判斷是否需要增加CPU。[root@localhost ~]# mpstat            #輸出從系統啟動以來的平均值[root@localhost ~]# mpstat -P ALL 2 3每2秒產生了2個處理器的統計數據報告,一共產生三個interval 的信息,然後再給出這三個
  • Zabbix 源碼解析之監控項數據採集流程 | 運維進階
    一、概述監控項數據採集是一個監控工具最基本的功能,監控數據採集的準確、實時、有效是Zabbix其它監控功能正常運轉的前提。因此,Zabbix運維人員有必要了解監控項數據採集流程,並有針對性的設計巡檢和問題處理流程,確保監控數據質量。