日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
詳解Linux下cpustat的安裝和使用方法

cpustat 是 Linux下用Go編寫的系統(tǒng)性能測量程序,它通過使用 “用于分析任意系統(tǒng)的性能的方法(USE)”,以有效的方式顯示 CPU 利用率和飽和度,本篇文章重點為大家講解一下Linux下cpustat的安裝和使用方法,有需要的小伙伴可以參考一下。

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

如何在 Linux 中安裝 cpustat

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

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

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

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

如何在 Linux 中使用 cpustat

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

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

注意:想要像你系統(tǒng)中已經(jīng)安裝的其它 Go 程序那樣運行 cpustat,你需要把 GOBIN 變量添加到 PATH 環(huán)境變量。打開下面的鏈接學(xué)習(xí)如何在 Linux 中設(shè)置 PATH 變量。

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

  1. 對于每個 PID,讀取 /proc/pid/stat,然后計算和前一個樣本的差別。
  2. 如果是一個新的 PID,讀取 /proc/pid/cmdline。
  3. 對于每個 PID,發(fā)送 netlink 消息獲取 taskstat,計算和前一個樣本的差別。
  4. 讀取 /proc/stat 獲取總的系統(tǒng)統(tǒng)計信息。

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

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

$ sudo $GOBIN/cpustat

10分鐘學(xué)習(xí)cpustat命令10分鐘學(xué)習(xí)cpustat命令

cpustat – 監(jiān)控 Linux CPU 使用

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

  1. usr – 用戶模式運行時間占 CPU 百分比的 min/avg/max 值。
  2. sys – 系統(tǒng)模式運行時間占 CPU 百分比的 min/avg/max 值。
  3. nice – 用戶模式低優(yōu)先級運行時間占 CPU 百分比的 min/avg/max 值。
  4. idle – 用戶模式空閑時間占 CPU 百分比的 min/avg/max 值。
  5. iowait – 等待磁盤 IO 的 min/avg/max 延遲時間。
  6. prun – 處于可運行狀態(tài)的 min/avg/max 進(jìn)程數(shù)量(同“平均負(fù)載”一樣)。
  7. pblock – 被磁盤 IO 阻塞的 min/avg/max 進(jìn)程數(shù)量。
  8. pstat – 在本次匯總間隔里啟動的進(jìn)程/線程數(shù)目。

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

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

下面的命令顯示了系統(tǒng)中運行的前 10 個 root 用戶進(jìn)程:

$ sudo $GOBIN/cpustat -u root

10分鐘學(xué)習(xí)cpustat命令10分鐘學(xué)習(xí)cpustat命令

查找 root 用戶正在運行的進(jìn)程

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

$ sudo $GOBIN/cpustat -u root -t

10分鐘學(xué)習(xí)cpustat命令10分鐘學(xué)習(xí)cpustat命令

root 用戶正在運行的進(jìn)程

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

$ sudo $GOBIN/cpustat -n 20

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

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

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

$ sudo $GOBIN/cpustat -h

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

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


文章名稱:詳解Linux下cpustat的安裝和使用方法
標(biāo)題來源:http://www.dlmjj.cn/article/ccdddes.html