80コアのうち16コアが使用されていません


11

最近、私たちのサーバーがシステム内の80スレッドすべてを使用していないことを発見しました。システムの負荷が高いにもかかわらず、16個のコアが常にアイドル状態であるように見えます。

4ソケット、10コアXeonの4倍のDell powerEdge R900サーバー。したがって、40コア、HTの80スレッドです。(Intel(R)Xeon(R)CPU E7-4850 @ 2.00GHz)。システムメモリは512GBで、Ubuntu 14.04.1 LTSを実行しています。私はまだサーバーを再起動していません。これを避けたいと思っていました。

うなめ-a
Linuxアセンブリ3.13.0-35-generic#62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux

私は次をチェックします:

i7zで測定した温度:(4つのソケットを表示できません

cpuinfo 1994.00MhzからのCPU速度
真の周波数(アカウンティングターボなし)1994 MHz

ソケット[0]-[物理コア数= 10、論理コア数= 20、最大オンラインコア数= 10]
  CPU乗算器15x || バスクロック周波数(BCLK)132.93 MHz
  10コアでターボが有効、ハイパースレッディングがオン
  Turbo 2126.93 MHzを考慮しない最大周波数(132.93 x [16])
  1/2/3/4/5/6コアの最大TURBO乗算器(有効な場合)は0x / 0x / 0x / 0x / 0x / 0x
  実電流周波数1994.02 MHz(最大以下)
        コア[core-id]:実際の周波数(マルチ)C0%停止(C1)%C3%C6%温度
        コア1 [1]:1994.01(15.00x)100 0 0 0 75
        コア2 [5]:1994.00(15.00x)100 0 0 0 77
        コア3 [9]:1994.02(15.00x)100 0 0 0 76
        コア4 [13]:1994.00(15.00x)100 0 0 0 77
        コア5 [17]:1994.00(15.00x)100 0 0 0 77
        コア6 [21]:1994.00(15.00x)97.7 0.404 0 1.86 77
        コア7 [25]:1994.00(15.00x)94.5 0 1 5.27 77
        コア8 [29]:1994.00(15.00x)100 0 0 0 76
        コア9 [33]:1994.00(15.00x)99.8 0 1 1 75
        コア10 [37]:1994.00(15.00x)100 0 0 0 73
  Turbo 2126.93 MHzを考慮しない最大周波数(132.93 x [16])
  1/2/3/4/5/6コアの最大TURBO乗算器(有効な場合)は0x / 0x / 0x / 0x / 0x / 0x
  実電流周波数1994.02 MHz(最大以下)
        コア[core-id]:実際の周波数(マルチ)C0%停止(C1)%C3%C6%温度
        コア1 [1]:1994.02(15.00x)100 0 0 0 74
        コア2 [5]:1994.00(15.00x)100 0 0 0 76
        コア3 [9]:1994.02(15.00x)100 0 0 0 76
        コア4 [13]:1994.00(15.00x)100 0 0 0 77
        コア5 [17]:1994.00(15.00x)100 0 0 0 76
        コア6 [21]:1994.00(15.00x)97 0 1 2.43 77
        コア7 [25]:1994.00(15.00x)92.9 0 1 6.81 77
C0 =プロセッサは停止せずに実行00x)100 0 0 0 75
C1 =停止中のプロセッサの実行(状態> C0は省電力)1 1 75
C3 = PLLをオフにしてコアキャッシュをオフにして実行しているコア0 0 73
C6 =最終レベルのキャッシュに保存されたC3 +コア状態のすべて
  表の上記の値は、過去1秒間のパーセンテージです
[core-id]は、/ proc / cpuinfoのcore-id番号を参照します
ガベージ値が読み取られたときに出力される「ガベージ値」メッセージ
  終了するにはCtrl + C

アイドル:最後の16コアはすべて100%アイドルです:

mpstat -p ALL 1:
平均:CPU%usr%nice%sys%iowait%irq%soft%steal%guest%gnice%idle
平均:すべて70.69 0.00 0.70 0.00 0.00 0.00 0.00 0.00 0.00 28.61
平均:0 92.93 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 7.07
平均:1 94.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 6.00
平均:2 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均:3 83.33 0.00 2.08 0.00 0.00 0.00 0.00 0.00 0.00 14.58
平均:4 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均:5 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
.................................................. ........
平均:64 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:65 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:66 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均:67 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:68 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均:69 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:70 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:71 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:72 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:73 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:74 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:75 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:76 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均:77 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均:78 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:79 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

トップロード番号:

top-17:41:48 35日、6:28、15ユーザー、平均負荷:77.69、70.48、62.73
タスク:合計1327、44実行中、1281スリープ、2停止、0ゾンビ
%Cpu(s):63.7 us、13.6 sy、0.0 ni、22.3 id、0.2 wa、0.0 hi、0.2 si、0.0 st
KiBメモリ:合計52837942 +、52553190 +使用済み、2847524無料、535660バッファ
KiBスワップ:合計78124032、使用済み2105608、無料76018416。40637328+キャッシュされたメモリ

アイドル%が100ではない場合もありますが、ここでわかるように少し少なくなりますが、ほとんどの場合アイドル100%のままです。

平均:CPU%usr%nice%sys%iowait%irq%soft%steal%guest%gnice%idle
平均:すべて70.69 0.00 0.70 0.00 0.00 0.00 0.00 0.00 0.00 28.61
平均:64 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99 99
平均:65 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:66 0.00 0.00 2.63 0.00 0.00 0.00 0.00 0.00 0.00 97.37
平均:67 0.00 0.00 0.13 0.13 0.00 0.00 0.00 0.00 0.00 99.75
平均:68 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均:69 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:70 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:71 0.00 0.00 0.12 0.00 0.00 0.00 0.00 0.00 0.00 99.88
平均:72 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:73 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:74 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:75 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:76 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均:77 0.00 0.00 0.13 0.00 0.00 0.00 0.00 0.00 0.00 99.87
平均:78 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
平均:79 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00

また、このコマンドを実行して、それらがすべてオンラインであることを確認しました。

`seq 01 79`のCOUNT; do echo 1> / sys / devices / system / cpu / cpu $ {COUNT} / online; 

HTopプログラムを使用すると、スレッドごとのCPU使用量のバーを視覚化でき、64個のバーが埋められ、16個の空のバーが表示されます(最後の16個)。

コアでプロセスを開始しようとすると> 63も失敗します。

root @ server:〜#taskset -c 63 time
使用法:time [-apvV] [-f format] [-o file] [--append] [--verbose]
       [--portability] [--format = format] [--output = file] [--version]
       [--quiet] [--help]コマンド[arg ...]
root @ server:〜#taskset -c 64 time
taskset:pid 0の類縁性の設定に失敗しました:無効な引数
root @ server:〜#taskset -c 65 time
taskset:pid 0の類縁性の設定に失敗しました:無効な引数

関連スレッド:https : //askubuntu.com/questions/536541/ubuntu-uses-only-2-out-of-4-processor-cores

編集:コアはその場でシャットダウンされますが、適切に起動しないことがわかります。これらの利用できないコアで実行中のプロセスがあるようですが、それらで新しいプロセスを開始することは不可能です。dmesgログによると、コアはすぐに無効化および有効化されます。これらのコアをシャットダウンするつもりだったため、この「機能」を無効にしました。DMESGサンプルログ:

[2015年1月12日12:42:40] kvm:CPU79での仮想化の無効化
[2015年1月12日月曜日12:42:40] smpboot:CPU 79がオフラインになりました
....
[2015年1月12日12:43:12] smpboot:ノード0プロセッサ79 APIC 0xf3の起動
[2015年1月12日12:43:12] kvm:CPU79での仮想化の有効化

コアの有効化/無効化:

`seq 64 79`のCOUNT; do echo 1> / sys / devices / system / cpu / cpu $ {COUNT} / online; done

通常、上記のコマンドは正常に機能するため、このコマンドを16個の使用できないコアにリンクすることはありません。(powermanagerを無効にすることも試みましたが、これは役に立ちませんでした)


1
なぜあなたやあなたの会社は、通常のPCにUbuntuではなくUbuntuサーバーを使用しなかったのですか?
XperianX

1
16個のコアが実際にMAXキャパシティに使用されており、16個の仮想コアに使用可能なマージンがないことは不可能ではありません。
anonymous2

1
1つの物理CPU上に8つのコアすべて(16の仮想)がありますか、それとも4つのソケットすべてに分散していますか?それらが1つの物理CPUにある場合、それらのコアが故障している可能性はありますか?
-Jibberish51

2
システムのどこかに、プロセスが最後の16コアを使用できないようにする64ビットだけのCPUアフィニティマスクを表すコードがあるのではないかと思っています。
カスペルド

80-16 = 64であることを考えると、使用するコアの最大数のどこかに人為的な制限があるように思えます。おそらく、実行しているソフトウェアが最大64コアに設定されているか、64スレッドを超えて生成できない可能性があります。
クロンネックス

回答:


1

すべてのプログラムが複数のスレッドを使用できるわけではありません。たとえば、phpは1つです。1つのphpプロセスが大量のCPUを必要とする場合、1つのCPUのみが最大になります。そして、他はアイドル状態になります。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.