intel_idle.max_cstate = 1の設定方法


12

インテルアイドルの最大状態を1に設定する方法と、いつ完了するかを確認する方法 ベイトレイルコアが原因でフリーズの問題があります。

カーネル4.5 4.1.12 4.4を試しましたが、フリーズの問題はまだ解決しません。現時点では、4.4がカーネルバージョンです。


現在(2019年8月)の時点では、このスレッドは実際にはintel_idle.max_cstate = 1の設定が2011年に公開されたバグの正式な解決策であるとは述べていません。 GRUBにintel_idle.max_cstate = 1を追加します。それを説明するドキュメントをいくつか入手したいと思います。元のBugzillaのドキュメントはその効果が不明確です。このフォーラムの参加者は、この「修正」を正式に確認するのを手伝ってくれるでしょうか?
Jan Hus

回答:


21

GRUBを使用している場合:

sudo、編集/etc/default/grubし、編集GRUB_CMDLINE_LINUX_DEFAULTラインが追加intel_idle.max_cstate=1すでにあるかもしれないものは何でもします。ファイルrunを保存した後sudo update-grub、再起動します。最初に元のgrubファイルのコピーを保存することをお勧めします。

cstateが1より深くなっていないことを確認するには、turbostat(パッケージ:linux-tools-common)を使用します。

例(にすでに何かがある場合GRUB_CMDLINE_LINUX_DEFAULT):

編集前):

$ sudo turbostat -S --debug sleep 10
 Avg_MHz   %Busy Bzy_MHz TSC_MHz     SMI  CPU%c1  CPU%c3  CPU%c6  CPU%c7 CoreTmp  PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 PkgWatt CorWatt GFXWatt
       1    0.04    1654    3411       0    0.12    0.03   99.82    0.00      29      29    0.07    0.03   99.51    3.85    0.20    0.23
10.001629 sec

変更を行います(私の構成制御方法を使用):

~/config/etc/default$ cp /etc/default/grub ./
~/config/etc/default$ cp grub grub.original
~/config/etc/default$ nano grub

これを変える:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"

これに:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1 intel_idle.max_cstate=1"

そして更新:

~/config/etc/default$ sudo cp grub /etc/default
~/config/etc/default$ sudo update-grub
~/config/etc/default$ sudo reboot -r now

今チェック(編集):

$ sudo turbostat -S --debug sleep 10
 Avg_MHz   %Busy Bzy_MHz TSC_MHz     SMI  CPU%c1  CPU%c3  CPU%c6  CPU%c7 CoreTmp  PkgTmp Pkg%pc2 Pkg%pc3 Pkg%pc6 PkgWatt CorWatt GFXWatt
       0    0.02    1920    3411       0   99.98    0.00    0.00    0.00      39      39    0.00    0.00    0.00   10.49    6.66    0.23
10.001079 sec

またdmesgvar/log/kern.log(編集された)これらのメッセージも表示されます:

~$ dmesg | grep intel_idle
[    1.019709] intel_idle: max_cstate 1 reached

$ grep intel_idle /var/log/kern.log
Mar 23 08:10:32 s15 kernel: [    1.019709] intel_idle: max_cstate 1 reached

の出力でturbostat、cstateが1より深くなっていないことをどのような値が示しているのdeeperでしょうか。どういう意味ですか?それがより深くなった場合、何を変えるべきですか?
ステファン2017年

1
@Stephane:「より深い」とは、1よりもc状態が高いことを意味します。grubコマンドラインを適切に設定した場合、cstateをより深く(より高く)実行するべきではありません。1. CPUとパッケージを観察できます。 1よりも大きい場合、ターボスタット出力ラインのこれらの状態で0.00%の時間を示します。
Doug Smythies 2017年

1
Thinkpad X201iは1時間ごとにハードリスタートを実行していました。私は、GRUBの更新とintel_idle.max_cstate=1同様にGRUBでを有効にし、マシンを再起動しました。ハードリスタートは発生しなくなりました。I(M嬉しい私は私の問題を解決し、私は正確にかかわらず、CPUを伝えるこのプロパティであるのだろうか。。GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"sudo update-grub
ステファン

参考までに、私はこのバグレポートを1年ほどフォローしてきましたが、興味があるかもしれません:bugzilla.kernel.org/show_bug.cgi?id=109051。また、ここではAUで:askubuntu.com/questions/803640/...
WinEunuuchs2Unix

3

Linuxと私のasrock Q2900で同じフリーズ問題が発生した後、ドイツのIT WebサイトでIntelが提供する解決策/回避策を見つけました。(https://www.golem.de/news/intel-einfrieren-bei-intels-bay-trail-socs-durch-patch-abgefedert-1609-123546.html)Bay-Trail-SoCには一般的な問題がありますインテルから。パッチへのリンク:https : //bugzilla.kernel.org/attachment.cgi?id=223851

詳細情報:このパッチ/スクリプトは省電力モードを取得します。上記のトピックソリューションは、このモードをまったく削除しません。


Ask Ubuntuへようこそ!これは理論的には質問に答える可能性がありますが、答えの本質的な部分をここに含め、参照用のリンクを提供することが望ましいでしょう
オタク長老2017

1

/ etc / defaults / grubを編集します。

GRUB_CMDLINE_LINUX_DEFAULT="intel_idle.max_cstate=1"

走る

update-grub
shutdown -r now

0

最新のカーネルに切り替えた場合、grubを更新する必要はありません。

バグレポートのコメント番号1013によると、これは修正されています。

私は長い間このスレッドをチェックしていませんでしたが、誰かに役立つ場合に備えて、調査結果を投稿するべきだと思いました。

Intel N2807を搭載したローエンドコンピュータは、設定しないとクラッシュせずに30分以上動作しなかった... max_cstates = 1は、ストックカーネルv。5.3.1または4.19.75で完全に機能するようになりました。問題なく各バージョンで数日間実行しました。また、平均消費電力も10%弱減少しました。

2015年12月8日に最初に報告されたこのバグを修正するには、約4年かかりました。

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