Ubuntuはコア間でCPU使用率のバランスをとっていないため、負荷が上がります


0

Ubuntu 11.04で8コアのi7-920のコアの20-70%をそれぞれ使用する10個のプロセスを実行しています。CPUスケーリングはオフになります。

htopを見ると、コア4と8はほとんど使用されていませんが、コア1と5はほとんど常に100%です。それは私の負荷平均を非常に高くしています。

未使用のコアでプロセスを強制的に実行して負荷平均を下げるには、手動でタスクセットを使用する必要があります。

これについて何かありますか?プロセスを個々のコアに手動で割り当てる必要はありません。おそらく設定があるのでしょうか、それとも最新のLinuxカーネルがこれに役立つのでしょうか?


i7-920の物理コアは4つだけです(BTW)。SMTは8つの論理コアを提供しますが、それらの論理コアのペアは同じ物理コアで実行されます。
dbenhur

コア4と8は同じ物理コアです。そのコアで何も実行されていないのはなぜですか?
ボブ

スケジューラは、そのコアで実行する方が良いと考えているためです。負荷平均が高いと言うとき、実際にどのような値について話しているのですか?
dbenhur


@Bob、数値を入力してください。負荷の計算方法へのリンクではありません。8-logical-cpuボックスの負荷数は?8.0以上ですか?そうでない場合は、問題の心配を完全にやめることができます。私はただ、ぶら下がっている果物を求めているだけです。それは、負荷が1.0を超えると本当に負荷が問題であると考える人が多すぎるように見えるためです。
dbenhur

回答:


1

「私のコンピューターは何かスマートなことをしているので、それを無理やりさせる必要があります。どうすれば止められますか?」放っておけば、正しいことをしている。キャッシュを共有するコアからのロードを維持することを好むのは正しいことです。


キャッシュを共有するだけでなく、実行ユニットと一部のTLBを共有します。
dbenhur

私はi7-920の内部レイアウトに100%精通していませんが、Intelの他のクアッドコアCPUでは、物理コアの各ペアがL2キャッシュを共有し、仮想コアの各ペアが実行ユニットを共有します。そのため、両方のタイプの共有が行われていますが、規模は異なります。(質問が「4つのコアのみ」の場合、それは主に実行ユニットの共有です。「2つまたは6つだけの理由」の場合は、主にキャッシュの共有です。
David Schwartz

i7-920およびその他のBloomfield CPUについていくつか調査しました。物理コアはL2キャッシュを共有せず(各物理コアには独自のコアがあります)、すべてのL3キャッシュにすべてのコアがアクセスできるようです。そのため、以前のIntelデザインとは少し異なります。(CPUはこの情報をOSで利用できるようにし、スケジューラーはそれを考慮に入れます。)
デビッドシュワルツ

これが当てはまる場合、強制的にダムにすることで負荷平均が下がるのはなぜですか?
ボブ

システムを無理矢理に強制しているため、実行準備が整っているプロセスが少なくなるため、負荷平均が低下します。プロセスを実行可能な状態にするために必要な作業をより速く完了できるほど、実行可能なプロセスの数が多くなるため、負荷平均が高くなります。平均負荷が低いということは、システムがプロセスの実行準備に非常に長い時間がかかっていることを示しています。もう1つの要因は、システムコンピューティングの処理速度が遅くなると、特定の時間に待機するI / Oが少なくなり(まだ準備ができていないため)、負荷平均が低下することです。
デビッドシュワルツ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.