-1

CPU の使用率が 90% に達したときに、CPU を最も消費する上位 5 つのプロセスでユーザーに電子メールを送信する、社内の小さな CPU 監視 bash スクリプトをセットアップしようとしています。複数の CPU の場合、すべての CPU の平均を取ることができるはずです。

4

1 に答える 1

1

コマンドのマンページをps見てください。選択肢の一つが-oオプションです。psこれにより、コマンドの出力をさまざまな方法でフォーマットできます。

たとえば、psこれらのフィールドのみを印刷するには、次のようにします。

ps -oni -orss -o%cpu -osize --no-header

ループを介してreadステートメントにそれを読み取ることができます。

ps -oni -orss -o%cpu -osize --no-header | while read nice mem cpu disk
do
    echo nice = $nice, memory = $mem, cpu = $cpu, disk = $disk
done

JSON 形式をどのように取得するかは、あなた次第です。また、あなたが探している値が100%確実ではありません。とはCpu-Nice? nice の値ですか、それとも CPU 使用量ですか? 「ディスク使用量」とはどういう意味ですか?

マンページを見て、ps必要な列を見つけて表示します。また、見出しなしオプションが何であれ使用するか、単にこれを行います:

ps -oni= -orss= -ocpu%= -osize=

また、見出しも表示されません。

于 2013-03-25T14:19:49.393 に答える