web-dev-qa-db-ja.com

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

最近、私たちのサーバーはシステム内の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を実行しています。私はまだサーバーを再起動していません。これを避けたいと思っていました。

 uname -a 
 Linux Assembly 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からのCPU速度1994.00Mhz 
 True Frequency(アカウンティングターボなし)1994 MHz 
 
 Socket [0]-[physical cores = 10、logical cores = 20 、最大オンラインコアever = 10] 
 CPU Multiplier 15x ||バスクロック周波数(BCLK)132.93 MHz 
 10コアでターボ有効、ハイパースレッディングON 
 Turboを考慮しない最大周波数2126.93 MHz(132.93 x [16])
最大TURBO乗算器( Enabled)の場合、1/2/3/4/5/6コアは0x/0x/0x/0x/0x/0x 
実電流周波数1994.02 MHz(最大以下)
コア[ core-id]:実際の周波数(マルチ)C0%Halt(C1)%C3%C6%Temp 
 Core 1 [1]:1994.01(15.00x)100 0 0 0 75 
 Core 2 [5]:1994.00(15.00x)100 0 0 0 77 
 Core 3 [9]:1994.02(15.00x)100 0 0 0 76 
 Core 4 [13]:1994.00(15.00 x)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])
最大TURBO乗算器(有効な場合) 1/2/3/4/5/6コアは0x/0x/0x/0x/0x/0x 
実電流周波数1994.02 MHz(最大以下)
コア[core-id] :実際の周波数(マルチ)C0%Halt(C1)%C3%C6%Temp 
 Core 1 [1]:1994.02(15.00x)100 0 0 0 74 
 Core 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
'Garbage Values 'メッセージ内のコア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 
平均: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 
平均:5 100.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 100.00 
平均:67 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 100.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 100.00 
平均:73 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 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 100.00 
平均:77 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.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 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 Mem:52837942 + total、52553190+使用済み、2847524空き、535660バッファ
 KiBスワップ:合計78124032、使用済み2105608、76018416空き。 40637328+キャッシュされたMem 

アイドル%は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.87 
平均: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 100.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 100.00 
平均:73 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 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 100.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 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] command [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日42:40:40] kvm:CPU79での仮想化の無効化
 [2015年1月12日月曜日12:42:40] smpboot:CPU 79はオフラインになりました
 .... 
 [2015年1月12日12:43:12] smpboot:Node 0プロセッサ79 APIC 0xf3 
 [2015年1月12日12:43:12 2015年の起動] kvm:CPU79での仮想化の有効化
 

コアの有効化/無効化:

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

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

11
HenrivdGeest

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

1
Carl