CPU、RAM、HDDの使用状況を示す1つのライナー


15

使用に関して同じことを望むいくつかの投稿を見てきましたが、答えは常にいくつかのサードパーティツールのインストールを参照しています。

何もインストールしたくない。

ライナーはありますか?以下は素晴らしい出力です:

CPU 11% RAM 20% HDD 85%

HDDの使用率は、その使用率がどの程度いっぱいであるか、またはどれほど忙しいですか?
バイトコマンダー

@ByteCommander両方?:)真面目なことに、容量。両方が良ければ。
Karl Morrison

ため息……。:-/
バイトコマンダー

@ByteCommander容量とは、明確でない場合は「どれほどいっぱいか」を意味します:)
カールモリソン

回答:


28

これを使えます

echo "CPU `LC_ALL=C top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk '{print 100 - $1}'`% RAM `free -m | awk '/Mem:/ { printf("%3.1f%%", $3/$2*100) }'` HDD `df -h / | awk '/\// {print $(NF-1)}'`"

出力は

CPU 7.4% RAM 33.9% HDD 94%

2
多くのパーティションがある場合、HDの部分は吸うでしょう。
coteyr 2017

1
df -h /コマンドラインの一部に、/パーティションに関する統計情報が表示されます。df -hコマンドを繰り返し/、監視する必要があるマウントポイントに置き換えることができます。
MKay 2017

1
私にはうまくいきません。CPUは常に91%です。どこから取得するのかわかりません。// RAMにはバッファとキャッシュが含まれているため、使い果たされたように見えます。私は97.8%のRAMを使用していますが、それでも67.5%の空き容量があります。
Oskar Skog 2017

2
@OskarSkogあなたtopは大丈夫です。CPU使用率は現時点では測定できません。短時間で測定する必要があります。ときにtop最初の反復を実行し、それが最後の再起動以降の平均使用率を示しています。2番目の反復から開始して、前の反復以降の実際の現在の使用状況を示します。ローカリゼーションに問題がある場合LC_ALL=Cは、コマンドの前に配置して、デフォルトのローカリゼーション(数値形式など、言語ではない)を使用できます。
バイトコマンダー

2
@MKay:あなたが交換することがtop -bn1 | grep "Cpu(s)"top -bn2 | grep "Cpu(s)" | tail -n1。前者はバイトコマンダーによって指摘されたように長期平均を表示します。
Oskar Skog 2017

7

CPU使用率((user+system)/(user+system+idle)0.1秒以上の時間の平均)の場合:

(grep 'cpu ' /proc/stat;sleep 0.1;grep 'cpu ' /proc/stat)|awk -v RS="" '{print "CPU "($13-$2+$15-$4)*100/($13-$2+$15-$4+$16-$5)"%"}'

RAM使用量((total-available)/total)の場合:

awk '/MemTotal/{t=$2}/MemAvailable/{a=$2}END{print 100-100*a/t"%"}' /proc/meminfo

HDDを使用する場合(としてマウントされたボリュームのみ/):

df | awk '/ \/$/{print "HDD "$5}'

興味深いことに、 `free -m |よりも利用可能なメモリが少ないのです。頭-n3 | tail -n1 'は空きメモリとして報告します。
Oskar Skog 2017

@OskarSkogそのコマンドの出力を共有できますか?私にとっては、Swap total / used / freeの行を出力するだけですが、ここでは関係ありません。多分あなたは何か他のものを意味したのかもしれません、あるいはあなたのfreeコマンドはまだ別の-/ +バッファ/キャッシュラインで古い出力フォーマットを使用しています...
バイトコマンダー

私の無料版は古い形式を使用しています:oskog97.com/sshin/free-output.png 何が変更されましたか?
Oskar Skog 2017

3
@OskarSkog "-/ + buffers / cache"行が削除され、代わりに "Mem"行に "available"列が追加されました。From man free: " スワップせずに新しいアプリケーションを開始するために使用できるメモリの見積もり。キャッシュまたは空きフィールドによって提供されるデータとは異なり、このフィールドはページキャッシュを考慮し、またすべての再利用可能なメモリスラブがアイテムのために再利用されるわけではないことも使用中/ proc / meminfoでMemAvailable、カーネル3.14で利用可能、カーネル2.6.27+でエミュレート、それ以外はfreeと同じ) "
Byte Commander
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.