久久精品国产99_国产丝袜一区二区三区免费视频_国产精品成人一区二区艾草_日韩午夜中文字幕_久久精品免费在线观看_狠狠色综合日日_国产精品va在线播放我和闺蜜_亚洲精品wwwww_欧美人与性动交a欧美精品_在线亚洲欧美专区二区

首頁> 資訊 > > 正文

ps vs top:CPU占用率統計的兩種不同方式_環球信息

2023-05-23 21:41:46來源:博客園
如何計算 CPU 占用率?

簡單來說,進程的 CPU 占用率指的是 CPU 有多少時間花費在了運行進程上。在 Linux 系統里,進程運行的時間是以jiffies[1]統計的,通過計算jiffies * HZ,就可以得到進程消耗的 CPU 時間,再除以 CPU 的總時間,就可以得到進程的 CPU 占用率:jiffies * HZ / total_time

ps 和 top 的不同之處

pstop是最常用的兩種查看 CPU 占用的方式,都可以用來快速找到當前 CPU 占用率高的進程。但實際上這兩個工具的統計方式是完全不同的。

我們用下面這個簡單的 Go 程序來測試這兩個工具的差別:


(相關資料圖)

package mainimport ("bytes""fmt""strconv""sync""time")var testData = []byte(`testdata`)func testBuffer(idx int) {  m := map[string]*bytes.Buffer{}  for i := 0; i < 100; i += 1 {    buf, ok := m[strconv.Itoa(i)]    if !ok {      buf = new(bytes.Buffer)    }    for j := 0; j < 1024; j += 1 {      buf.Write(testData)    }    m[strconv.Itoa(i)] = buf  }  fmt.Println("done, ", idx)  wg.Done()}var wg sync.WaitGroupfunc main() {for i := 0; i < 10; i += 1 {wg.Add(1)j := igo testBuffer(j)}wg.Wait()fmt.Println("sleeping")time.Sleep(time.Hour)}

然后我們運行這個程序,通過topps aux分別查看進程的 CPU 占用情況。

top -n 1:

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND39753 infini    20   0 14.663g 0.014t   1200 S 611.1 22.2   0:23.53 test-cpu

ps aux:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDinfini   39881  767 39.1 26505284 25791892 pts/16 Sl+ 07:04   0:38 ./test-cpu

可以看到,pstop統計的 CPU 占用率是近似的(由于時間點并不完全吻合,統計值也會有輕微差別)。兩個工具的差異體現在testBuffer結束后,top統計的 CPU 占用率已經接近于 0,但是ps依然統計到很高的 CPU 占用率:

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMANDinfini   39881 82.3 42.4 28638148 27953532 pts/16 Sl+ 07:04   0:40 ./test-cpu
為什么 ps 和 top 的統計值會有差異?

這兩個工具的差異來自于各自運行方式的不同:top 只能持續運行一段時間,而 ps 是立刻返回的。這個差異體現在運行top -n 1ps aux時,top是延遲后返回的,而ps是立刻返回的。這兩種不同的運行方式就會反映在兩個工具的統計算法上。

文章開頭我們提到,Linux 的 CPU 時間是按照jiffies統計的,考慮到效率問題,Linux 只會統計總值,不會記錄歷史數據。對于 ps來說,由于只能統計到瞬時值,這個瞬時值的統計算法就必然拿不到實時的 CPU 占用率,因為實時的占用率需要通過 (current_cpu_time - last_cpu_time) / time_duration來得到,ps只能統計一次,所以time_duration0,也就無法計算這個占用率。實際上,ps統計的是整個進程運行周期內的 CPU 占用率[2]:

(total_cpu_time / total_process_uptime)

對于測試程序這種短時間的占用率上升,剛開始的時候 ps能夠統計到近似準確的平均 CPU 占用率,但是 cpu 占用恢復后,ps的統計值并不會立刻下降,而是會隨著進程運行時間total_process_uptime的增加緩慢下降。

top命令不同, top是通過持續運行來更新 CPU 占用率統計的。-n 1這個參數指定 top運行一個迭代后退出,top命令就可以通過這個延遲來可以完成一個迭代內的 CPU 占用率統計:

(current_cpu_time - last_cpu_time) / iteration_duration
如何持續監控 CPU 占用率?

通常來說,監控系統分為采集和統計兩個不同的組件,采集組件只會采集指標數值,統計功能通過數據庫/Dashboard 來實現。要監控 CPU 占用率,ps是一個非常符合采集組件行為的統計方式,每次采集都可以拿到“當前”的 CPU 占用率。但是受限于算法本身的統計方式,我們實際采集到的是平均 CPU 占用率,無法反映進程的實時狀態。

以 INFINI Console為例,我們運行一個短時間的數據遷移任務負載,然后查看對應 INFINI 網關實例的 CPU 占用監控(payload.instance.system.cpu,通過ps方式統計當前 CPU 占用率)。可以看到,CPU 占用率會以一個曲線上升,在任務結束后會緩慢下降:

如果想持續監控實時 CPU 占用率,我們就需要借鑒top的統計方式,采集原始的進程 CPU 時間,進而通過聚合數據來計算 CPU 占用率。

在 Linux 系統下,pstop命令都會通過/proc/[PID]/stat提供的信息來計算 CPU 占用率[2]:

##  Name      Description14  utime     CPU time spent in user code, measured in jiffies15  stime     CPU time spent in kernel code, measured in jiffies16  cutime    CPU time spent in user code, including time from children17  cstime    CPU time spent in kernel code, including time from children

獲取到每個采樣時間的進程信息后,我們就可以通過這個公式來計算采樣周期內的 CPU 占用率:

delta(cpu_time) / delta(timestamp)

在 INFINI Console,我們可以通過deriative函數來計算payload.instance.system.user_in_mspayload.instance.system.sys_in_ms相對于timestamp的占比,進而得到準確的 CPU 占用率統計。

這樣,我們就可以統計到網關在運行任務負載前后的實時 CPU 占用率:

總結

雖然topps都可以統計 CPU 占用率,但統計算法卻完全不同。了解這兩種算法的底層原理之后,我們就可以設計出適合監控系統的數據采集和數據統計方式,采集到準確的 CPU 占用率。

參考JiffiesTop and ps not showing the same cpu result

標簽:

上一篇:軍車牌照xl是哪個單位的_xl的車牌是什么軍區的
下一篇:最后一頁
久久精品国产99_国产丝袜一区二区三区免费视频_国产精品成人一区二区艾草_日韩午夜中文字幕_久久精品免费在线观看_狠狠色综合日日_国产精品va在线播放我和闺蜜_亚洲精品wwwww_欧美人与性动交a欧美精品_在线亚洲欧美专区二区
精品国产乱码久久久久久老虎| 国产一区二区三区最好精华液| 久久午夜国产精品| 亚洲女人****多毛耸耸8| 粗大黑人巨茎大战欧美成人| 欧美韩国日本一区| 成a人片国产精品| 国产精品无遮挡| 99精品视频免费在线观看| 一色桃子久久精品亚洲| 91免费在线视频观看| 亚洲区小说区图片区qvod| 色拍拍在线精品视频8848| 亚洲另类中文字| 欧美老肥妇做.爰bbww视频| 亚洲成人免费在线观看| 日韩欧美国产综合在线一区二区三区| 捆绑变态av一区二区三区| 欧美成人国产一区二区| 福利电影一区二区三区| 亚洲精品视频免费观看| 欧美一区午夜视频在线观看| 国产69精品久久777的优势| 一区二区三区在线免费观看| 日韩情涩欧美日韩视频| 99久久国产综合色|国产精品| 一个色在线综合| 久久久91精品国产一区二区精品| 97久久久精品综合88久久| 蜜臀91精品一区二区三区| 亚洲欧洲av在线| 国产亚洲综合在线| 精品视频资源站| 国产高清不卡二三区| 三级亚洲高清视频| 最新日韩av在线| 精品国产亚洲在线| 欧美亚洲综合在线| 成人av电影免费观看| 韩国毛片一区二区三区| 午夜欧美电影在线观看| 亚洲精品综合在线| 国产欧美日韩中文久久| 在线成人av影院| 欧美色网一区二区| 91亚洲精品乱码久久久久久蜜桃| 韩国女主播一区二区三区| 日本亚洲最大的色成网站www| 中文字幕制服丝袜一区二区三区 | 丰满亚洲少妇av| 蜜桃av一区二区在线观看| 亚洲人xxxx| 亚洲精品国产精品乱码不99| 国产精品网站导航| 欧美激情综合五月色丁香小说| 精品国产青草久久久久福利| 欧美一区日韩一区| 日韩一级视频免费观看在线| 日韩亚洲欧美一区| 精品精品欲导航| 精品久久久久久最新网址| 欧美一级专区免费大片| 精品国产制服丝袜高跟| 久久这里只有精品首页| 久久久精品国产99久久精品芒果 | 在线播放日韩导航| 欧美乱妇15p| 日韩一区二区在线播放| 精品伦理精品一区| 国产欧美中文在线| 亚洲欧美成aⅴ人在线观看| 亚洲国产视频a| 日韩电影免费在线观看网站| 国内欧美视频一区二区| av在线一区二区| 欧美区视频在线观看| 日韩三级在线观看| 国产精品动漫网站| 性做久久久久久| 国产成人精品亚洲日本在线桃色| 色94色欧美sute亚洲线路二 | 99re这里只有精品首页| 欧美日韩一区二区电影| 精品国产伦一区二区三区免费| 国产精品国产成人国产三级| 亚洲成人一区在线| 风间由美一区二区av101| 欧美日韩在线综合| 欧美国产精品一区二区三区| 午夜免费久久看| 成人av免费网站| 久久综合九色综合久久久精品综合 | 久久综合网色—综合色88| 日韩一区在线播放| 韩国精品主播一区二区在线观看| 色香蕉成人二区免费| 国产欧美日韩一区二区三区在线观看 | 国产精品美女久久久久aⅴ | 成人一区二区三区视频在线观看 | 欧美xxx久久| 亚洲电影一级黄| 91同城在线观看| 欧美高清在线一区| 精品一二三四区| 日韩欧美一二区| 日本伊人午夜精品| 欧美精品日韩精品| 亚洲123区在线观看| 欧美在线免费播放| 玉米视频成人免费看| 色诱视频网站一区| 国产精品成人免费精品自在线观看 | 在线观看免费亚洲| 一区二区在线观看视频| 色先锋aa成人| 一区二区三区在线观看欧美| 一本一道波多野结衣一区二区| 亚洲男人的天堂av| 欧美中文字幕亚洲一区二区va在线| 国产精品麻豆视频| av动漫一区二区| 亚洲精品国产a久久久久久 | 婷婷中文字幕一区三区| 欧美高清一级片在线| 蜜臀av一区二区| 精品久久久久久久人人人人传媒 | 日本不卡的三区四区五区| 在线成人av影院| 国产一区二区三区四区五区入口 | 在线一区二区三区做爰视频网站| 亚洲老妇xxxxxx| 91精品国产综合久久精品图片| 青青草原综合久久大伊人精品 | 狠狠色综合色综合网络| 国产午夜精品久久久久久久| 色综合天天天天做夜夜夜夜做| 亚洲精品免费在线观看| 日韩亚洲欧美在线观看| aa级大片欧美| 日韩av午夜在线观看| 国产亚洲精品福利| 欧美日韩在线播放三区| 国产精品夜夜嗨| 日韩精品一级中文字幕精品视频免费观看| 日韩一区二区三区免费看 | 久久先锋资源网| 99国产精品久久久久久久久久 | 亚洲欧美日韩国产成人精品影院| 91精品国产一区二区三区香蕉| 国产精品白丝jk黑袜喷水| 一区二区三区四区不卡视频| 欧美电影免费观看高清完整版在线 | 欧美影视一区二区三区| 国模娜娜一区二区三区| 亚洲综合久久久| 国产精品久久久久久久久果冻传媒| 在线电影院国产精品| 91免费国产视频网站| 国产盗摄视频一区二区三区| 日韩不卡在线观看日韩不卡视频| 综合在线观看色| 欧美国产精品一区| 欧美精品一区二区三区很污很色的 | 国产精品久久久久久久久免费相片| 欧美人狂配大交3d怪物一区| 欧美在线一二三| 色婷婷av一区| 91亚洲国产成人精品一区二三| 国产精品亚洲一区二区三区在线| 老色鬼精品视频在线观看播放| 五月天激情小说综合| 亚洲成人777| 亚洲成av人片www| 一区2区3区在线看| 香蕉乱码成人久久天堂爱免费| 亚洲午夜精品网| 五月天欧美精品| 毛片一区二区三区| 国内外成人在线视频| 国产精品一区二区三区乱码| 成人在线综合网| 日本久久电影网| 欧美人与性动xxxx| 欧美二区乱c少妇| 久久影院视频免费| 国产欧美精品区一区二区三区| 国产精品久久久久久久第一福利| 最新高清无码专区| 亚洲综合色婷婷| 久久国产三级精品| 成人app网站| 欧美日韩黄色影视| 26uuu国产在线精品一区二区| 国产精品久久久久影视| 亚洲综合一二三区| 毛片av一区二区| 色婷婷精品大在线视频| 精品国产一区久久| 午夜在线成人av| 成人一级视频在线观看|