我想以百分比的形式找出整体CPU使用率和RAM使用率,但我得到了成功
$ command for cpu usage
4.85%
$ command for memory usage
15.15%
OR
$ command for cpu and mamory usage
cpu: 4.85%
mem: 15.15%
我怎样才能做到这一点?
答案 0 :(得分:5)
您可以使用procps包中的top
和/或vmstat
。
使用vmstat -s
获取计算机上的RAM数量(可选),以及
然后使用top
的输出来计算内存使用百分比。
%Cpu(s): 3.8 us, 2.8 sy, 0.4 ni, 92.0 id, 1.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 24679620 total, 1705524 free, 7735748 used, 15238348 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 16161296 avail Mem
您也可以为相对较短的输出执行此操作:
watch '/usr/bin/top -b | head -4 | tail -2'
定期计算当前RAM使用情况的shell管道是
watch -n 5 "/usr/bin/top -b | head -4 | tail -2 | perl -anlE 'say sprintf(\"used: %s total: %s => RAM Usage: %.1f%%\", \$F[7], \$F[3], 100*\$F[7]/\$F[3]) if /KiB Mem/'"
(这里过滤掉了CPU + Swap用法。)
此命令每5秒打印一次:
Every 5.0s: /usr/bin/top -b | head -4 | tail -2 | perl -anlE 'say sprintf("u... wb3: Wed Nov 21 13:51:49 2018
used: 8349560 total: 24667856 => RAM Usage: 33.8%
答案 1 :(得分:2)
请使用以下之一:
$ free -t | awk 'NR == 2 {print "Current Memory Utilization is : " $3/$2*100}'
Current Memory Utilization is : 14.6715
OR
$ free -t | awk 'FNR == 2 {print "Current Memory Utilization is : " $3/$2*100}'
Current Memory Utilization is : 14.6703
答案 2 :(得分:0)
对于 cpu 使用率,您可以使用:
顶部 -b -n 1| grep CPU | awk -F "," '{print $4}' | awk -F "id" '{print $1}' | awk -F "%" '{print $1}'