web-dev-qa-db-ja.com

KondemandプロセスはCPUのほとんどを消費します

以下は、topからの出力です。

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 3551 mysql     20   0 10.0g  84m 4052 S  9.4  0.1 544:39.87 mysqld
 2311 root      20   0     0    0    0 R  3.1  0.0 184:36.36 kondemand/26
 2296 root      20   0     0    0    0 R  3.0  0.0 183:58.76 kondemand/11
 2297 root      20   0     0    0    0 R  3.0  0.0 183:51.36 kondemand/12
 2299 root      20   0     0    0    0 R  3.0  0.0 183:31.22 kondemand/14
 2304 root      20   0     0    0    0 R  3.0  0.0 183:57.42 kondemand/19
 2310 root      20   0     0    0    0 R  3.0  0.0 182:07.21 kondemand/25
 2312 root      20   0     0    0    0 R  3.0  0.0 184:01.70 kondemand/27
 2314 root      20   0     0    0    0 R  3.0  0.0 182:34.96 kondemand/29
 5255 root      20   0 84432  11m 2800 R  3.0  0.0  58:53.71 cPhulkd - proce
 2286 root      20   0     0    0    0 R  2.9  0.0 179:48.98 kondemand/1
 2298 root      20   0     0    0    0 R  2.9  0.0 183:01.25 kondemand/13
 2300 root      20   0     0    0    0 R  2.9  0.0 183:05.85 kondemand/15
 2302 root      20   0     0    0    0 R  2.9  0.0 181:37.64 kondemand/17
 2305 root      20   0     0    0    0 S  2.9  0.0 182:42.13 kondemand/20
 2313 root      20   0     0    0    0 S  2.9  0.0 183:37.13 kondemand/28
 3264 root      20   0  131m 6236 3712 R  2.9  0.0  13:49.84 cpsrvd (SSL) -
 2287 root      20   0     0    0    0 R  2.8  0.0 155:21.99 kondemand/2
 2289 root      20   0     0    0    0 R  2.8  0.0 181:43.40 kondemand/4
 2290 root      20   0     0    0    0 R  2.8  0.0 180:02.76 kondemand/5
 2293 root      20   0     0    0    0 R  2.8  0.0 179:04.75 kondemand/8
 2294 root      20   0     0    0    0 R  2.8  0.0 182:32.23 kondemand/9
 2295 root      20   0     0    0    0 R  2.8  0.0 184:39.21 kondemand/10
 2306 root      20   0     0    0    0 R  2.8  0.0 182:20.72 kondemand/21
 2307 root      20   0     0    0    0 R  2.8  0.0 182:39.74 kondemand/22
 2309 root      20   0     0    0    0 R  2.8  0.0 179:00.80 kondemand/24
 2315 root      20   0     0    0    0 R  2.8  0.0 182:54.88 kondemand/30
 2965 root      20   0  150m  35m 3464 R  2.8  0.1 177:45.39 httpd
 2291 root      20   0     0    0    0 R  2.7  0.0 180:53.41 kondemand/6
 2292 root      20   0     0    0    0 R  2.7  0.0 179:38.78 kondemand/7
 2303 root      20   0     0    0    0 R  2.7  0.0 184:05.13 kondemand/18
 2316 root      20   0     0    0    0 S  2.7  0.0 182:06.84 kondemand/31
18451 cuntschi  20   0  187m  12m 5608 R  2.7  0.0   0:00.29 php
 2285 root      20   0     0    0    0 R  2.6  0.0 176:55.27 kondemand/0
18430 cuntschi  20   0  186m  11m 4960 R  2.6  0.0   0:00.28 php
18445 cocksuck  20   0  175m 9332 5208 R  2.6  0.0   0:00.28 php
18459 romanced  20   0  184m   9m 4972 R  2.6  0.0   0:00.28 php
18463 sexsmovi  20   0  187m  13m 5512 R  2.6  0.0   0:00.28 php
18482 enterpri  20   0  185m  11m 5424 R  2.6  0.0   0:00.28 php
18488 enterpri  20   0  185m  12m 5456 R  2.6  0.0   0:00.28 php
 2301 root      20   0     0    0    0 R  2.5  0.0 178:52.97 kondemand/16
 2308 root      20   0     0    0    0 R  2.5  0.0 181:52.38 kondemand/23
18432 cuntschi  20   0  184m  10m 4956 R  2.5  0.0   0:00.27 php
18434 cocksuck  20   0  187m  12m 5796 R  2.5  0.0   0:00.27 php
18436 sexsmovi  20   0  186m  13m 5480 R  2.5  0.0   0:00.27 php
18439 cuntschi  20   0  184m 9868 4960 R  2.5  0.0   0:00.27 php

それは何ですか、どうすれば停止できますか?

3
user4951

これは自動CPU周波数スケーリングです。それが使用しているCPUは、実際にはアイドル状態のCPUだと思います。これは、CPUベンチマークプログラムを起動することでテストできます。 kondemandインスタンスの使用率が0%に低下するはずです。 atopプログラムは、CPUスケーリング率も表示します。

ディストリビューションが異なればこれの扱いも異なり、投稿もしなかったので、 http://www.servernoobs.com/avoiding-cpu-speed-scaling-in-modern-linux-distributions -running-cpu-at-full-speed-tips /?doing_wp_cron = 1428304535.5997378826141357421875 開始点として。そこからのこの簡単なスクリプトは、普遍的にそれをオフにしますが、システムの起動スクリプトで何が行われるのかを理解する必要があります。

for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor;
do [ -f $CPUFREQ ] || continue; echo -n performance > $CPUFREQ; done

これはおそらく、電力を節約することよりも悪いことではありません。定期的に非常にバースト的なワークロードがない限り、これを無効にすることで余分な熱を除いて多くを得ることができません(あなたの場合に本当に壊れていない限り)。

6
Jeff Ferland

あなたの質問に答えるために、まずkondemandとは何かを理解しましょう。

kondemandは、cpufreqサブシステムのオンデマンドガバナーに属するカーネルスレッドであり、使用率統計に基づいてシステムのp状態を変更します。したがって、これは電源管理に役立つものです。 kondemandに関するリファレンス

  • なぜこれがCPUを使用しているのかという質問に来ましたか?

Answer:マシンには32コアがあると思います。そのため、kondemandスレッドのスレッドが32個実行されています。各スレッドは、CPU周波数を最適化するために少しCPUを消費します。このCPUの使用は通常、CPUがアイドル状態のときに行われます。そのため、kondemandはcpufreqに関連するカーネルスレッドです。したがって、電力を節約するように設計されています。忙しい時間帯にプロセッサをロードしてはいけません。

kondemandを無効にしたい場合でも、以下のリンクに記載されている手順に従ってください

上記のリンクには、あなたが言及した問題についてのすばらしい説明があります。また、kondemandの無効化/有効化の影響にも気付くでしょう。

カーネルバージョンに基づいてkondemandを無効にする方法は2つあります。使用しているカーネルのバージョンがわかりません。したがって、上記のリンクを確認し、システムにインストールされているカーネルバージョンに従って必要なアクションを実行する必要があります。

ベストオブラック!

1
shubham