成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

cpustat:在Linux下根據運行的進程監控CPU使用率

系統 Linux 系統運維
cpustat 是 Linux 下一個強大的系統性能測量程序,它用 Go 編程語言 編寫。它通過使用 “用于分析任意系統的性能的方法(USE)”,以有效的方式顯示 CPU 利用率和飽和度。

cpustat:在Linux下根據運行的進程監控CPU使用率

cpustat 是 Linux 下一個強大的系統性能測量程序,它用 Go 編程語言 編寫。它通過使用 “用于分析任意系統的性能的方法(USE)”,以有效的方式顯示 CPU 利用率和飽和度。

它高頻率對系統中運行的每個進程進行取樣,然后以較低的頻率匯總這些樣本。例如,它能夠每 200ms 測量一次每個進程,然后每 5 秒匯總這些樣本,包括某些度量的最小/平均/***值(min/avg/max)。

推薦閱讀: 監控 Linux 性能的 20 個命令行工具

cpustat 能用兩種方式輸出數據:定時匯總的純文本列表和每個取樣的彩色滾動面板。

如何在 Linux 中安裝 cpustat

為了使用 cpustat,你的 Linux 系統中必須安裝有 Go 語言(GoLang),如果你還沒有安裝它,點擊下面的鏈接逐步安裝 GoLang:

在 Linux 下安裝 GoLang(Go 編程語言)

安裝完 Go 以后,輸入下面的 go get 命令安裝 cpustat,這個命令會將 cpustat 二進制文件安裝到你的 GOBIN 變量(所指的路徑): 

  1. # go get github.com/uber-common/cpustat 

如何在 Linux 中使用 cpustat

安裝過程完成后,如果你不是以 root 用戶控制系統,像下面這樣使用 sudo 命令獲取 root 權限運行 cpustat,否則會出現下面顯示的錯誤信息:

  1. $ $GOBIN/cpustat 
  2. This program uses the netlink taskstats interface, so it must be run as root. 

注意:想要像你系統中已經安裝的其它 Go 程序那樣運行 cpustat,你需要把 GOBIN 變量添加到 PATH 環境變量。打開下面的鏈接學習如何在 Linux 中設置 PATH 變量。

cpustat 是這樣工作的:在每個時間間隔查詢 /proc 目錄獲取當前進程 ID 列表,然后:

  • 對于每個 PID,讀取 /proc/pid/stat,然后計算和前一個樣本的差別。
  • 如果是一個新的 PID,讀取 /proc/pid/cmdline。
  • 對于每個 PID,發送 netlink 消息獲取 taskstat,計算和前一個樣本的差別。
  • 讀取 /proc/stat 獲取總的系統統計信息。

根據獲取所有這些統計信息所花費的時間,會調整每個休息間隔。另外,通過每次取樣之間實際經過的時間,每個樣本也會記錄它用于測量的時間。這可用于計算 cpustat 自身的延遲。

當不帶任何參數運行時,cpustat 默認會顯示以下信息:樣本間隔:200ms;匯總間隔:2s(10 個樣本);顯示前 10 個進程;用戶過濾器:all;pid 過濾器:all。正如下面截圖所示:

  1. $ sudo $GOBIN/cpustat   

cpustat – 監控 Linux CPU 使用 

cpustat – 監控 Linux CPU 使用

在上面的輸出中,之前顯示的系統范圍的度量字段意義如下:

  • usr - 用戶模式運行時間占 CPU 百分比的 min/avg/max 值。
  • sys - 系統模式運行時間占 CPU 百分比的 min/avg/max 值。
  • nice - 用戶模式低優先級運行時間占 CPU 百分比的 min/avg/max 值。
  • idle - 用戶模式空閑時間占 CPU 百分比的 min/avg/max 值。
  • iowait - 等待磁盤 IO 的 min/avg/max 延遲時間。
  • prun - 處于可運行狀態的 min/avg/max 進程數量(同“平均負載”一樣)。
  • pblock - 被磁盤 IO 阻塞的 min/avg/max 進程數量。
  • pstat - 在本次匯總間隔里啟動的進程/線程數目。

同樣還是上面的輸出,對于一個進程,不同列的意思分別是:

  • name - 從 /proc/pid/stat 或 /proc/pid/cmdline 獲取的進程名稱。
  • pid - 進程 ID,也被用作 “tgid” (線程組 ID)。
  • min - 該 pid 的用戶模式+系統模式時間的最小樣本,取自 /proc/pid/stat。比率是 CPU 的百分比。
  • max - 該 pid 的用戶模式+系統模式時間的***樣本,取自 /proc/pid/stat。
  • usr - 在匯總期間該 pid 的平均用戶模式運行時間,取自 /proc/pid/stat。
  • sys - 在匯總期間該 pid 的平均系統模式運行時間,取自 /proc/pid/stat。
  • nice - 表示該進程的當前 “nice” 值,取自 /proc/pid/stat。值越高表示越好(nicer)。
  • runq - 進程和它所有線程可運行但等待運行的時間,通過 netlink 取自 taskstats。比率是 CPU 的百分比。
  • iow - 進程和它所有線程被磁盤 IO 阻塞的時間,通過 netlink 取自 taskstats。比率是 CPU 的百分比,對整個匯總間隔平均。
  • swap - 進程和它所有線程等待被換入(swap in)的時間,通過 netlink 取自 taskstats。Scale 是 CPU 的百分比,對整個匯總間隔平均。
  • vcx 和 icx - 在匯總間隔期間進程和它的所有線程自動上下文切換總的次數,通過 netlink 取自 taskstats。
  • rss - 從 /proc/pid/stat 獲取的當前 RSS 值。它是指該進程正在使用的內存數量。
  • ctime - 在匯總間隔期間等待子進程退出的用戶模式+系統模式 CPU 時間總和,取自 /proc/pid/stat。 注意長時間運行的子進程可能導致混淆這個值,因為只有在子進程退出后才會報告時間。但是,這對于計算高頻 cron 任務以及 CPU 時間經常被多個子進程使用的健康檢查非常有幫助。
  • thrd - 匯總間隔***線程的數目,取自 /proc/pid/stat。
  • sam - 在這個匯總間隔期間該進程的樣本數目。最近啟動或退出的進程可能看起來比匯總間隔的樣本數目少。

下面的命令顯示了系統中運行的前 10 個 root 用戶進程:

  1. $ sudo $GOBIN/cpustat -u root  

 

 

查找 root 用戶正在運行的進程 

查找 root 用戶正在運行的進程

要想用更好看的終端模式顯示輸出,像下面這樣用 -t 選項:

  1. $ sudo $GOBIN/cpustat -u root -t  

 

 

root 用戶正在運行的進程 

root 用戶正在運行的進程

要查看前 x 個進程(默認是 10),你可以使用 -n 選項,下面的命令顯示了系統中 正在運行的前 20 個進程:

  1. $ sudo $GOBIN/cpustat -n 20 

你也可以像下面這樣使用 -cpuprofile 選項將 CPU 信息寫到文件,然后用 cat 命令查看文件:

  1. $ sudo $GOBIN/cpustat -cpuprofile cpuprof.txt 
  2. $ cat cpuprof.txt 

要顯示幫助信息,像下面這樣使用 -h 選項:

  1. $ sudo $GOBIN/cpustat -h 

可以從 cpustat 的 Github 倉庫:https://github.com/uber-common/cpustat 查閱其它資料。

就是這些!在這篇文章中,我們向你展示了如何安裝和使用 cpustat,Linux 下的一個有用的系統性能測量工具。通過下面的評論框和我們分享你的想法吧。

作者簡介:

Aaron Kili 是一個 Linux 和 F.O.S.S(Free and Open-Source Software) 愛好者,一個 Linux 系統管理員、web 開發員,現在也是 TecMint 的內容創建者,他喜歡和電腦一起工作,他相信知識共享。 

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2019-09-10 08:13:33

LinuxCPU內存

2009-12-15 15:12:05

Linux限制進程cp

2017-03-23 19:27:55

LinuxCPUCPU利用率

2014-12-01 13:44:03

cgroupscpulimitlinux

2022-04-06 06:35:58

進程命令CPU

2019-01-23 09:50:05

s-tuiLinuxCPU

2019-01-15 15:04:54

CPU電腦使用率

2009-11-16 17:03:20

Oracle優化CPU

2019-08-28 06:58:06

Linux監控腳本Shell

2024-04-11 13:27:19

Linuxtop命令

2021-05-31 15:53:57

CPU Top命令

2020-07-08 07:00:00

LinuxCPU應用程序

2011-04-06 11:36:30

MRTG監控內存

2023-09-27 23:32:46

Python監控進程

2021-08-10 11:45:57

topCPULinux

2012-07-03 09:57:11

閏秒Linux 服務器

2009-12-22 09:23:59

Linux Sysst

2012-07-02 16:38:22

Linux服務器閏秒

2022-07-23 21:31:24

KubernetesLinux開源

2009-12-15 08:39:33

Windows 7視頻加速
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩免费视频 | 一级做a爰片性色毛片视频停止 | 一区二区久久 | 欧美综合一区二区三区 | 91精品国产欧美一区二区 | 国产精品毛片av一区 | 国产女人精品视频 | 日韩久久综合 | 国产视频中文字幕 | 精品久久久久一区二区国产 | 亚洲入口 | h视频网站在线观看 | 成人三级在线播放 | 国产又爽又黄的视频 | 久久精品免费观看 | 国产美女黄色片 | 亚洲成av人片在线观看 | 久久夜视频 | 精品国产伦一区二区三区观看体验 | 91免费在线视频 | 本地毛片| 91精品观看 | 免费成人高清在线视频 | 性色在线 | 欧美日韩在线一区二区三区 | 免费a级毛片在线播放 | 亚洲国产欧美精品 | 成人国产精品一级毛片视频毛片 | 好好的日在线视频 | 亚洲欧美日韩一区二区 | 伊人中文字幕 | 99久久精品免费看国产四区 | 一级一级毛片免费看 | 欧美在线视频一区 | 亚洲精品视频一区 | 久久亚洲二区 | 黄色国产在线播放 | 欧美精品三区 | 日日夜夜精品免费视频 | 精品视频一区二区三区在线观看 | 天天天插|