どのサーバーが過負荷になったかを知るために、サーバーの負荷をCPUコアの数で割った値を知りたいです。次のようにCPUコアの数を取得できます。
$ grep -c processor /proc/cpuinfo
2
以下を使用してサーバーの負荷を取得できます。
$ uptime | awk '{print $11}'
0.47,
0.47/2
今分けて得たいです0.23
。これを行うためにどのマンページを読まなければならないのか、どうすればわかりますか?私は本当に正しいコマンドを見つけるために次のステップが何であるかを理解する方法を本当に探しています。コマンド自体を尋ねることではありません。
私はこの問題をオンラインで検索しましたが、Googleでさえ私を正しい方向に導くことができませんでした。それでは、代替のどのキーワードを検索する必要がありますか?明らかな「linux、Division、bash、出力」は役に立ちません。
答え1
これにより、トリックを実行できます。
(awk '{printf "%s/", $2}' /proc/loadavg; grep -c processor /proc/cpuinfo;) | bc -l
/proc/loadavg
uptime
また、コマンドがロードをインポートする場所でもロードをインポートする必要があります。
答え2
bashスクリプトを書くだけです。 2つの値を2つの異なる変数として取得します。その後、コマンドを使用して一方を他のものbc
から切り離します。とても簡単です。
答え3
decimal_places=2
dc <<< "${decimal_places}k $(uptime | awk '{print $11}'| cut -d"," -f1) $(grep -c processor /proc/cpuinfo) /p"
この答えは$()
bashで動作するので、一時変数は必要ありません。また、電卓DCを使用しています。を使用してDCに精度を伝え、k
2つの数字を入力し、それらを分割して答えを印刷するように要求します。