GNU/Linux >> Linux の 問題 >  >> Linux

上部には 100% の CPU が使用されていると表示されていますが、コアの 50% がアイドル状態ですか?

Max の回答を拡張するには:ハイパースレッディングを備えたプロセッサは、実際には物理コアが 1 つしかない場合でも、2 つのコアをオペレーティング システムに報告します。 Linux は 4 つのコアを認識しますが、プロセッサには 2 つの物理コアがあります。

物理コアには、高度なスケジューリング機能と、2 番目のスレッドを処理するための追加のトランジスタがありますが、多くのプロセッサ集約型アプリケーションでは、ハイパースレッディングは実際の利点を提供しません.

私の分野では、システムで実行されるアプリケーションのベンチマークを行い、パフォーマンスが低下する場合は BIOS でハイパースレッディングを無効にします。

編集:

cat /dev/urandom > /dev/null を使用して半分のコアをロードすると CentOS 6 を実行している最新の Xeon で取得した結果は次のとおりです。

top - 19:32:38 up 1 day,  8:17,  3 users,  load average: 12.13, 8.73, 4.07
Tasks: 694 total,  13 running, 681 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us, 50.4%sy,  0.0%ni, 49.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  49552656k total,  2693452k used, 46859204k free,   186448k buffers
Swap: 15999992k total,        0k used, 15999992k free,   469560k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                           
21193 root      20   0 98.5m  560  452 R 100.0  0.0   6:23.31 cat                                                                                               
21194 root      20   0 98.5m  560  452 R 100.0  0.0   6:22.76 cat                                                                                               
21195 root      20   0 98.5m  560  452 R 100.0  0.0   6:22.38 cat                                                                                               
21201 root      20   0 98.5m  560  452 R 100.0  0.0   6:21.98 cat                                                                                               
21202 root      20   0 98.5m  560  452 R 100.0  0.0   6:21.62 cat                                                                                               
21203 root      20   0 98.5m  560  452 R 100.0  0.0   6:21.36 cat                                                                                               
21206 root      20   0 98.5m  560  452 R 100.0  0.0   6:20.43 cat                                                                                               
21187 root      20   0 98.5m  560  452 R 99.6  0.0   6:24.45 cat                                                                                                
21204 root      20   0 98.5m  560  452 R 99.6  0.0   6:21.03 cat                                                                                                
21205 root      20   0 98.5m  560  452 R 99.6  0.0   6:20.73 cat                                                                                                
21213 root      20   0 98.5m  560  452 R 99.6  0.0   6:20.09 cat                                                                                                
21214 root      20   0 98.5m  560  452 R 99.6  0.0   6:19.70 cat

4 年以上経ちましたが、公平を期すために、この質問のことを完全に忘れていました。重要な質問を受け取ったことを知って戻ってきました。

問題は接線でした ハイパースレッディングに関連していますが、レスポンダーに継続的に指摘したように、それはそうではありません 50% アイドリングの原因。

原因は、不適切に構成されたカーネル動的ティック構成に関係していました。 Gentoo を実行し、カスタムビルドのカーネルを使用していました。カーネルをアップグレードした後、2012 年半ばのある時点で、問題は自然に解決しました。


Linux
  1. なしでCPUを食べるプロセスを検出する:Top、Htop、Ps?

  2. メモリとCPUの使用量で実行中のプロセスのトップ10を探す

  3. kipmi0 IPMI カーネル ヘルパー 99% / 100% 高い CPU 使用率 (ただし、負荷平均は低い)

  1. vmlinuz プロセスは 100% の CPU で実行されます

  2. ps と top は異なる CPU 使用率を示します

  3. 「ps」で上位 5 つの CPU 消費プロセスを表示

  1. 全体的な CPU 消費を制限する方法はありますか?

  2. トップの %st はどういう意味ですか?

  3. CPU 使用率は高いが負荷平均は低い