web-dev-qa-db-ja.com

Linuxでのサーマルスロットルカウンターとパッケージ電力制限通知の意味

LinuxをインストールしたMacBookProでパフォーマンステストを行うと、dmesgに次のメッセージが表示されることがよくあります。

Aug  8 09:29:31 infinity kernel: [79791.789404] CPU1: Package power limit notification (total events = 40365)
Aug  8 09:29:31 infinity kernel: [79791.789408] CPU3: Package power limit notification (total events = 40367)
Aug  8 09:29:31 infinity kernel: [79791.789411] CPU2: Package power limit notification (total events = 40453)
Aug  8 09:29:31 infinity kernel: [79791.789414] CPU0: Package power limit notification (total events = 40453)

また、sysfsのスロットルカウンターが時間の経過とともに増加することもわかります。

trustin@infinity:/sys/devices/system/cpu/cpu0/thermal_throttle
$ ls
core_power_limit_count  package_power_limit_count
core_throttle_count     package_throttle_count
$ cat core_power_limit_count 
0
$ cat core_throttle_count 
41912
$ cat package_power_limit_count 
67945
$ cat package_throttle_count 
67565

これらのカウンターはどういう意味ですか?

それらはCPUまたはシステムのパフォーマンスに影響しますか?それらはパフォーマンス数値の偏差の増加をもたらしますか? (つまり、信頼できるパフォーマンス数値を取得できなくなりますか?)

もしそうなら、どうすればこれらのメッセージと増加するカウンターを回避できますか?十分に冷却されたデスクトップシステムでパフォーマンステストを実行すると役立ちますか?

8
trustin

コアが絞られると、発生する熱をカットするために減速(電圧が低下、周波数が低下)することを意味します(熱は電力から発生し、電力は周波数の2乗に比例します)。パッケージのスロットリングは、コアが配置されているシリコン片が(コア自体ではなく)過熱していることを意味していると思います。そのため、もう一度電圧が低下しました。

これは確かにパフォーマンスに悪影響を及ぼします。

回避する方法は、(a)そのような計算量の多いアプリケーションを実行しない(少なくとも一度にすべてではない)、(b)冷却メカニズム(ファンなど)が機能していることを確認する、(c)より涼しい環境でマシンを操作することです。あなたの場合、これらのどれも実行可能/修正可能/壊れていない可能性があります。

2
adrianmcmenamin