Linuxの平均最大負荷が高すぎるようです

Linuxの平均最大負荷が高すぎるようです

これに従ってくださいhttps://unix.stackexchange.com/a/279354/108702、私は逃げた。

lscpu | grep -E '^Thread|^Core|^Socket|^CPU\('
CPU(s):              8
Thread(s) per core:  2
Core(s) per socket:  4
Socket(s):           1

しかしtop

top - 01:06:47 up 51 days,  6:24,  2 users,  load average: 23.67, 22.50, 22.40
Tasks: 5989 total,   1 running, 5919 sleeping,   0 stopped,   0 zombie
%Cpu(s): 84.6 us,  2.7 sy,  0.0 ni, 12.3 id,  0.4 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 32799488 total,   940020 free, 18284088 used, 13575380 buff/cache
KiB Swap:        0 total,        0 free,        0 used. 14034316 avail Mem

私は何を見逃していますか?最大負荷は2 * 4 * 1 = 8(使用率100%)になると予想されますか? (そして高すぎる?)

ベストアンサー1

TL; DR、23はおそらく高すぎるでしょう。

ロードについて考える最も簡単な方法は、「CPU を使用するキューのプロセス数」です。負荷が CPU の数と正確に一致する場合、CPU が必要とするプロセスの数が使用可能な CPU と正確に一致するため、使用量が理想的です。負荷高い使用可能なCPUの数を超えると、一部のプロセスはCPUが利用可能になるのを待つ必要があり、リソースが不足しているため理想的なスループットを達成できません。負荷がCPUの数より少ない場合、一部のCPUはアイドル状態になるため、このデバイスでより多くのスループットを得ることができます。

CPU使用率は瞬間消費量を知ることができますが、実際にはすべてのコアが100%で実行されている場合は理想的です。ここで重要なのは負荷平均です。キューがどれだけ大きいか。たとえば、マクドナルドでは、1人の従業員が顧客に100%サービスを提供することは大丈夫です。重要なのは、どれだけの人がサービスを受けるのを待っているかです。これが負荷平均が教えてくれるものです。

もちろん、これは単純化されたものであり、技術的な詳細と微妙さがたくさん含まれていますが、私たちの95%はシステム要件を測定し、負荷平均が知らせる解釈のための十分な規則です。

おすすめ記事