実行するとuptime
、次のようになります。
10:50:30 up 366 days, 23:27, 1 user, load average: 1.27, 2.06, 1.54
最後の数字はどういう意味ですか?manページには、「過去1、5、および15分間のシステムの平均負荷」であることが示されています。しかし、規模は何ですか?1.27は高いですか?低い?システムに依存しますか?
実行するとuptime
、次のようになります。
10:50:30 up 366 days, 23:27, 1 user, load average: 1.27, 2.06, 1.54
最後の数字はどういう意味ですか?manページには、「過去1、5、および15分間のシステムの平均負荷」であることが示されています。しかし、規模は何ですか?1.27は高いですか?低い?システムに依存しますか?
回答:
負荷平均は、CPUの注意を同時に要求するプロセスの平均数のゲージです。
一般に、1つのプロセスが100%で実行されていて、そのプロセスが永遠に続く場合、すべての値が「1」に近づくことが期待できます。
一般的に、これは可能な限り効率的なコンピューティングであり、コンテキスト切り替えによる損失はありません。
ただし、最新のマルチタスクOSにはCPUの注意が必要なものが複数あるため、1つのプロセスからの負荷が中程度の場合、負荷平均は0.8から2の間で変動するはずです。
make -j 60
論理プロセッサが1つしかないにもかかわらず、でカーネルを構築するなどの非常識なことをすると、平均負荷は60に近づき、コンピューターは信じられないほど役に立たなくなります(コンテキストスイッチによる死)。
また、このメトリックは、コア/ CPUの数に関係ありません。2コアシステムの場合、1つのプロセスを実行してコア全体を消費する(他のプロセスをアイドルのままにする)と、平均負荷は1.0になります。システムの負荷を判断するには、コアの数を把握し、自分で分割する必要があります。
一般的に、特定の時間にアクティブなプロセスの数を測定しますが、それを計算するために使用されるメトリックはシステムによって異なります。それをかなりよく説明した私が見つけた唯一の記事はこれです。
私はコースの参照から引用します:
負荷平均は、一定期間の負荷数の平均です。次のプロセスを考慮します。
- CPUでアクティブに実行されています。
- 実行可能と見なされますが、CPUが使用可能になるのを待機しています。
- スリープ中:つまり、何らかのリソース(通常はI / O)が利用可能になるのを待っています。
負荷平均の解釈についてさらに引用します。
負荷平均は、次の例に示すように、3つの異なる数値セットを使用して表示されます。
最後の情報は、システムの平均負荷です。システムがシングルCPUシステムであると仮定すると、0.25は、過去1分間に平均でシステムが25%使用されたことを意味します。次の位置の0.12は、過去5分間で平均してシステムが12%使用されたことを意味します。最終位置の0.15は、過去15分間に平均でシステムが15%使用されたことを意味します。2番目の位置で1.00の値を見た場合、これは、シングルCPUシステムが過去5分間で平均で100%使用されたことを意味します。これは、システムを完全に使用したい場合に適しています。シングルCPUシステムの1.00を超える値は、システムが過度に使用されていることを意味します。CPUが利用可能なプロセスよりもCPUを必要とするプロセスが多くありました。
複数のCPU、たとえばクアッドCPUシステムがある場合、負荷平均数をCPUの数で除算します。この場合、たとえば、1分間の平均負荷が4.00であるということは、システム全体が最後の1分間に100%(4.00 / 4)使用されたことを意味します。
通常、短期間の増加は問題ではありません。あなたが見る高いピークは、おそらく新しいレベルではなく、活動のバーストです。たとえば、起動時に多くのプロセスが起動し、アクティビティが落ち着きます。5分と15分の平均負荷で高いピークが見られる場合は、懸念の原因となる可能性があります。