如何檢視 Linux 下記憶體占用率方法一 :
我們可以使用下面指令的組合來達到此目的。在該方法中,我們使用的是 free 和 awk 指令的組合來擷取記憶體占用率。
要擷取不包含百分比符号的記憶體占用率:
#free -t | awk 'NR ==2 {print "CurrentMemory Utilization is: "$3/$2*100}'
或
#free -t | awk 'FNR ==2 {print"Current Memory Utilization is: "$3/$2*100}'
Current Memory Utilization is : 18.0433
要擷取包含百分比符号及保留兩位小數的記憶體占用率:
#free -t | awk 'NR == 2{printf("Current Memory Utilization is : %.2f%"), $3/$2*100}'
#free -t | awk 'FNR == 2{printf("Current Memory Utilization is : %.2f%"), $3/$2*100}'
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 位的浮點數。使用後跟的格式來限制小數位。
如何檢視 Linux 下記憶體占用率方法二:
我們可以使用下面指令的組合來達到此目的。在這種方法中,我們使用 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%
如何檢視 Linux 下 CPU 的占用率方法一:
我們可以使用如下指令的組合來達到此目的。在這種方法中,我們使用 top、print 和 awk 指令的組合來擷取CPU 的占用率。
如果在輸出中展示的是多個 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%
如何檢視 Linux 下 CPU 的占用率方法二:
我們可以使用如下指令的組合來達到此目的。在這種方法中,我們使用的是 top、print/printf 和 awk 指令的組合來擷取 CPU 的占用率。
如果在單個輸出中一起展示了所有的 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
#top -b -n1 | grep ^%Cpu | awk '{print"Current CPU Utilization is : " 100-$8}'
Current CPU Utilization is : 0.5
#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。