如何取得具有 1 個或 n 個 CPU 核心的 Linux 機器的總 CPU 使用率?

如何取得具有 1 個或 n 個 CPU 核心的 Linux 機器的總 CPU 使用率?

我目前正在使用下面的方法從 top 命令中提取 CPU 使用空閒值,並從 100 中減去該值。

另外,我的 Linux VM 是精簡版本,只有很少的基本工具,例如top.安裝其他工具不是一個選項,因為套件管理器也被刪除。

CPU_IDLE="$(top -bn2 | grep -F '%Cpu' | tail -n 4 | gawk '{print $8 $9}' | tr -s '\n\:\,[:alpha:]' ' '| gawk '{print $2}'),"

答案1

是的,你的方法沒問題。

但是,你可以使用mpstat以獲取更多詳細資訊。

它包含在系統狀態包,如果你沒有安裝它......

在 CentOS / RHEL 上:

sudo yum install sysstat

在 Ubuntu/Debian 上:

sudo apt-get install sysstat

如果您沒有安裝軟體包的任何權限,請使用以下命令

grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}'

相關內容