簡體   English   中英

要顯示的Shell腳本 - 內存使用情況,磁盤使用情況和CPU負載?

[英]Shell script to display - Memory usage, Disk Usage and CPU Load?

我想以下列格式顯示內存使用情況,磁盤使用情況和CPU負載:

Memory Usage: 33/512MB (6%)    
Disk usage: 4.2/20GB (23%) 
CPU Load: 0.01

所以我開始使用下面的腳本來做到這一點但不知何故它給了我一個錯誤

#!/bin/bash

free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%)\n", $3,$2,$3*100/$2 }'
df -h | awk '$NF=="/"{printf "Disk Usage: %d/%dGB (%s)\n", $3,$2,$5}'
top -bn1 | grep load | awk '{printf "CPU Load: %.2f\n", $(NF-2)}' 

以下是我得到的錯誤 -

awk: run time error: not enough arguments passed to printf("Memory Usage: %s/%sMB (%.2f%)
")
        FILENAME="-" FNR=2 NR=2

我正在運行ubuntu 12.04。 知道什么是錯的嗎?

更新: -

運行我的下面的shell腳本后 -

#!/bin/bash

free -m | awk 'NR==2{printf "Memory Usage: %s/%sMB (%.2f%%)\n", $3,$2,$3*100/$2 }'
df -h | awk '$NF=="/"{printf "Disk Usage: %d/%dGB (%s)\n", $3,$2,$5}'
top -bn1 | grep load | awk '{printf "CPU Load: %.2f\n", $(NF-2)}' 

我得到了以下輸出 -

Memory Usage: 128504/128896MB (99.70%)
Disk Usage: 3/48GB (8%)
CPU Load: 0.40

CPU負載看起來不錯嗎? 0.40是什么意思? 我應該說什么數量的CPU負載會很高?

嘗試轉義%

printf "Memory Usage: %s/%sMB (%.2f%%)\n"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM