上位c - CPU使用率が200%を超えるとクラッシュしますか?

上位c - CPU使用率が200%を超えるとクラッシュしますか?

あなたの経験に基づいていくつかのアドバイスをしたいと思います。私の主な関心事は、コンピュータサーバーがクラッシュすることを本当に望んでいないことです。

問題は、私がLinuxコンピュータサーバー(スーパーコンピュータ?おそらく)でプログラムを実行していることです。私が実行しているプログラムには、使用できるスレッドを指定する機能があります。私は15個のスレッドを使いたいと指定しました。

私が使用しているコンピュータサーバーには、約20以上のプロセッサ(6コアIntel Xeon CPU)があります。上のcで私が使用しているプログラムが実行されていることがわかります。

%CPU
190.7%

そのため、上位 c(1) を確認し、以下は出力です。

Cpu0  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1  : 95.7%us,  0.3%sy,  0.0%ni,  0.0%id,  3.6%wa,  0.0%hi,  0.3%si,  0.0%st
Cpu2  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu3  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu4  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu5  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu6  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu7  :  0.3%us,  0.3%sy,  0.0%ni, 99.3%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu8  :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu9  :  0.3%us,  0.0%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu10 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu11 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu12 : 96.0%us,  0.7%sy,  0.0%ni,  0.0%id,  3.3%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu13 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu14 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu15 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu16 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu17 :  0.0%us,  0.0%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.3%si,  0.0%st
Cpu18 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu19 :  0.3%us,  0.0%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu20 :  0.0%us,  0.0%sy,  0.0%ni,100.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

CPU使用率はCPUによって異なります。たとえば、CPU20が90%に達し、CPU1が0%に戻ることがあります。

CPUを190%使用したため、コンピュータサーバーがクラッシュする可能性はありますか?

ベストアンサー1

さまざまなツールとシステムは、CPUの割合をさまざまな方法で報告します。 CPUの負荷について考えるより良い方法は、負荷の観点から見ることです。次のような過負荷の労働者システムを検討してください。

# w 
 02:22:31 up 221 days, 11:06,  1 user,  load average: 9.87, 9.50, 7.25
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
stephan  pts/0    173.13.169.18    02:22    0.00s  0.44s  0.00s w


~$ cat /proc/cpuinfo |grep processor
processor   : 0
processor   : 1

つまり、1分負荷は9.87、5分負荷は9.50、15分負荷は7.25です。 「ロード」番号は、このコンピュータがタスクを実行するために割り当てたプロセッサの数を表し、cpuinfoコマンドはタスクを実行するために必要な物理プロセッサの数を示します。 CPUが12個の場合、この負荷レベルはまったく問題になりません。

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                
11579 app       20   0  263m  97m 4104 R   22  1.3   0:00.85 ruby                                                                                   
11586 app       20   0     0    0    0 Z   20  0.0   0:00.62 ruby <defunct>                                                                         
11589 app       20   0  262m  96m 3884 S   18  1.3   0:00.53 ruby                                                                                   
11592 app       20   0  260m  95m 3000 R   17  1.3   0:00.50 ruby                                                                                   
11600 app       20   0  260m  95m 2744 R   15  1.3   0:00.45 ruby                                                                                   
11595 app       20   0  260m  95m 2744 R   13  1.3   0:00.39 ruby                                                                                   
11598 app       20   0  262m  95m 3096 R   12  1.3   0:00.35 ruby                                                                                   
11604 app       20   0  258m  93m 2744 R   10  1.3   0:00.30 ruby                                                                                   
11607 app       20   0  257m  92m 2496 R    8  1.2   0:00.25 ruby                                                                                   
11610 app       20   0  256m  91m 2560 S    4  1.2   0:00.11 ruby

そうすれば、CPUがプロセス間で分かれているのがわかります。これにより、キュー内のジョブは、CPUを使用する前にCPUがアイドル状態になるまで待つ必要があります。

おすすめ記事