咱們能夠使用下面命令的組合來達到此目的。在該方法中,咱們使用的是 free 和 awk 命令的組合來獲取內存佔用率。spa
要獲取不包含百分比符號的內存佔用率:進程
#free -t | awk 'NR ==2 {print "Current Memory Utilization is: "$3/$2*100}'內存
或io
#free -t | awk 'FNR ==2 {print "Current Memory Utilization is: "$3/$2*100}'awk
Current Memory Utilization is : 18.0433變量
要獲取包含百分比符號及保留兩位小數的內存佔用率:sed
#free -t | awk 'NR == 2 {printf("Current Memory Utilization is : %.2f%"), $3/$2*100}'grep
或方法
#free -t | awk 'FNR == 2 {printf("Current Memory Utilization is : %.2f%"), $3/$2*100}'im
Current Memory Utilization is : 18.06%
鍵入 free 命令會更好地做出闡釋:
root@imx6qdlsolo:~# free
total used free shared buff/cache available
Mem: 1024780 185096 783012 1036 56672 769256
Swap: 0 0 0
細節以下:
free:是一個標準命令,用於在 Linux 下查看內存使用狀況。
awk:是一個專門用來作文本數據處理的強大命令。
FNR == 2:該命令給出了每個輸入文件的行數。其基本上用於挑選出給定的行(針對於這裏,它選擇的是行號爲 2 的行)
NR == 2:該命令給出了處理的行總數。其基本上用於過濾給出的行(針對於這裏,它選擇的是行號爲 2 的行)
$3/$2*100:該命令將列 3 除以列 2 並將結果乘以 100。
printf:該命令用於格式化和打印數據。
%.2f%:默認狀況下,其打印小數點後保留 6 位的浮點數。使用後跟的格式來約束小數位。
咱們能夠使用下面命令的組合來達到此目的。在這種方法中,咱們使用 free、grep 和 awk 命令的組合來獲取內存佔用率。
要獲取不包含百分比符號的內存佔用率:
#free -t | grep Mem | awk '{print "Current Memory Utilization is : " $3/$2*100}'
Current Memory Utilization is : 18.071
要獲取包含百分比符號及保留兩位小數的內存佔用率:
# free -t | grep Mem | awk '{printf("Current Memory Utilization is : %.2f%"), $3/$2*100}'
Current Memory Utilization is : 18.07%
若是在輸出中展現的是多個 CPU 的狀況,那麼你須要使用下面的方法。
#top -b -n1 | grep ^%Cpu
%Cpu(s): 0.1 us, 0.4 sy, 0.0 ni, 99.4 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
要獲取不包含百分比符號的 CPU 佔用率:
#top -b -n1 | grep ^%Cpu | awk '{cpu+=$9}END{print "Current CPU Utilization is : " 100-cpu/NR}'
Current CPU Utilization is : 100
要獲取包含百分比符號及保留兩位小數的 CPU 佔用率:
#top -b -n1 | grep ^%Cpu | awk '{cpu+=$9}END{printf("Current CPU Utilization is : %.2f%"), 100-cpu/NR}'
Current CPU Utilization is : 100.00%
咱們能夠使用以下命令的組合來達到此目的。在這種方法中,咱們使用的是 top、print/printf 和 awk 命令的組合來獲取 CPU 的佔用率。
若是在單個輸出中一塊兒展現了全部的 CPU 的狀況,那麼你須要使用下面的方法。
#top -b -n1 | grep ^%Cpu
%Cpu(s): 0.1 us, 0.4 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
要獲取不包含百分比符號的 CPU 佔用率:
#top -b -n1 | grep ^%Cpu | awk '{print "Current CPU Utilization is : " 100-$8}'
Current CPU Utilization is : 0.5
要獲取包含百分比符號及保留兩位小數的 CPU 佔用率:
#top -b -n1 | grep ^%Cpu | awk '{printf("Current CPU Utilization is : %.2f%"), 100-$8}'
Current CPU Utilization is : 0.50%
以下是一些細節:
top:是一種用於查看當前 Linux 系統下正在運行的進程的很是好的命令。
-b:選項容許 top 命令切換至批處理的模式。當你從本地系統運行 top 命令至遠程系統時,它將會很是有用。
-n1:迭代次數。
^%Cpu:過濾以 %CPU 開頭的行。
awk:是一種專門用來作文本數據處理的強大命令。
cpu+=$9:對於每一行,將第 9 列添加至變量 cpu。
printf:該命令用於格式化和打印數據。
%.2f%:默認狀況下,它打印小數點後保留 6 位的浮點數。使用後跟的格式來限制小數位數。
100-cpu/NR:最終打印出 CPU 平均佔用率,即用 100 減去其併除以行數。
這樣就能夠查看了。喜歡多多關注吧!