Cpu

top -bn1 沒有給出正確的 CPU 使用率

  • October 30, 2016

我正在登錄一個節點,我知道該節點的 cpu 使用率接近 100%(20 個單程序作業,每個作業使用接近 100% 的 cpu)。當我以top互動方式使用第一次迭代時,它給了我大約 20%的使用率ni,而下一次迭代和所有之後它正確地給出了 95+% 的ni使用率。我想通過管道輸出topvia top -bn1 > outfile,但是top -bn1(唯一的迭代)的第一次迭代給出了不正確的 CPU 使用率。如果我使用top -bn2,那麼第二次迭代給出了正確的用法,但是輸出太多了。

我怎樣才能top -bn1正確地給我 CPU 使用率?我正在編寫此腳本用於使用統計資訊,因此如有必要,我可以返回並獨立執行程序分析以生成我自己的 CPU 使用情況,但如果top能立即給我正確的使用情況,那就太好了。

編輯:mpdstat -P ALL給我相同的、不正確的初始使用統計資訊。如果也能弄清楚這一點,那就太好了。我可以使用mpstat -P ALL 1 1,但這給出了兩次輸出。

只需刪除第一次迭代的輸出。

top -bn2 | awk '/^top -/ { p=!p } { if (!p) print }'

有些工具首先顯示計算的平均值。其他工具的第一個樣本不完整。總體而言,建議跳過第一個樣本以獲得所需的結果。

引用自:https://unix.stackexchange.com/questions/190027