So setzen Sie intel_idle.max_cstate = 1

12

Wie kann ich Intel Idle Max Cstate auf 1 setzen und wie kann ich überprüfen, wann es fertig ist? Ich habe ein Einfrierproblem wegen Bay Trail Cores.

Ich habe versucht, Kernel 4.5 4.1.12 4.4, aber das Einfrieren Problem weiterhin. Im Moment ist 4.4 meine Kernel-Version.

Ozan Temel
quelle
Ab sofort (8/2019) besagt dieser Thread nicht, dass das Setzen von intel_idle.max_cstate = 1 eine offizielle Lösung für den 2011 veröffentlichten Fehler ist. Da es sich in meinem Fall um ein zeitweise auftretendes Problem handelt (musste dupliziert werden), bevor ich ADD intel_idle.max_cstate = 1 zu meinem GRUB, ich möchte eine Dokumentation erhalten, die dies besagt. Das ursprüngliche Bugzilla-Dokument ist in diesem Sinne unklar. Kann mir ein Teilnehmer dieses Forums freundlicherweise helfen, dieses "Update" offiziell zu überprüfen?
Jan Hus

Antworten:

21

Bei Verwendung von GRUB:

Mit sudo, bearbeiten /etc/default/grubund bearbeiten Sie die GRUB_CMDLINE_LINUX_DEFAULTZeile, die intel_idle.max_cstate=1zu dem hinzugefügt wird , was möglicherweise bereits vorhanden ist. Führen Sie nach dem Speichern der Datei einen sudo update-grubNeustart durch. Schlagen Sie vor, zuerst eine Kopie Ihrer ursprünglichen Grub-Datei zu speichern.

Um zu überprüfen, ob Ihr Zustand nicht tiefer als 1 ist, verwenden Sie Turbostat (Paket: linux-tools-common).

Beispiel (wo schon was drauf ist GRUB_CMDLINE_LINUX_DEFAULT):

Vorher (bearbeitet):

$ 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

Nehmen Sie die Änderung vor (mit meiner Methode zur Konfigurationssteuerung):

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

Ändere das:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"

Dazu:

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

Und Update:

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

Überprüfen Sie nun (bearbeitet):

$ 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

Sie sollten diese Nachrichten auch in dmesgund var/log/kern.log(bearbeitet) sehen:

~$ 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
Doug Smythies
quelle
Ich frage mich, welcher Wert in der Ausgabe von turbostatzeigt, dass der Zustand nicht tiefer als 1 geht. Womit meinen Sie das deeper? Was kann man anders machen, wenn es tiefer geht?
Stephane
1
@Stephane: Mit "tiefer" meinte ich höhere c-Zustände als 1. Wenn Sie die grub-Befehlszeile richtig eingestellt haben, sollte sie nicht tiefer (höher als) 1 gehen. Sie können die CPU und das Paket beobachten, cstates größer als 1 zeigen 0,00% Zeit in diesen Zuständen auf der Turbostat-Ausgangsleitung.
Doug Smythies
1
Mein Thinkpad X201i wurde jede Stunde hart neu gestartet. Ich habe das intel_idle.max_cstate=1im Grub wie GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"mit einem Grub-Update aktiviert sudo update-grubund die Maschine neu gestartet. Es treten keine harten Neustarts mehr auf. Ich bin froh, dass ich mein Problem gelöst habe. Ich frage mich, was genau diese Eigenschaft der CPU sagt.
Stephane
Zu Ihrer Information Ich verfolge diesen Fehlerbericht seit ungefähr einem Jahr und er könnte Sie auch interessieren: bugzilla.kernel.org/show_bug.cgi?id=109051 . Auch hier in AU: askubuntu.com/questions/803640/…
WinEunuuchs2Unix
3

Nachdem ich die gleichen Freeze-Probleme mit Linux und meinem Asrock Q2900 hatte, fand ich auf einer deutschen IT-Website die von Intel bereitgestellte Lösung / Problemumgehung. ( https://www.golem.de/news/intel-einfrieren-bei-intels-bay-trail-socs-durch-patch-abgefedert-1609-123546.html ) Es gibt ein allgemeines Problem mit Bay-Trail-SoCs von Intel. Der Link zum Patch: https://bugzilla.kernel.org/attachment.cgi?id=223851

Weitere Informationen: Dieser Patch / dieses Skript erhält den Energiesparmodus. Die obige Themenlösung entfernt diesen Modus überhaupt.

Helle
quelle
Willkommen bei Ask Ubuntu! Während dies theoretisch die Frage beantworten kann, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und die Links als Referenz bereitzustellen.
Elder Geek
1

Bearbeiten Sie / etc / defaults / grub:

GRUB_CMDLINE_LINUX_DEFAULT="intel_idle.max_cstate=1"

Lauf

update-grub
shutdown -r now
BSDguru
quelle
0

Es ist nicht mehr erforderlich, grub zu aktualisieren, wenn Sie zu einem neuesten Kernel wechseln.

Laut Kommentar Nr. 1013 im Fehlerbericht ist dies nun behoben:

Ich habe diesen Thread schon lange nicht mehr überprüft, aber ich dachte, ich sollte meine Ergebnisse veröffentlichen, nur für den Fall, dass er für irgendjemanden von Nutzen ist.

Ein Low-End-Computer mit einem Intel N2807, der nie mehr als 30 Minuten ohne Absturz funktioniert hat, als ich ihn nicht eingestellt habe ... max_cstates = 1 funktioniert jetzt einwandfrei mit einem Standardkernel v. 5.3.1 oder 4.19.75. Ich habe es ein paar Tage lang mit jeder Version ohne Probleme ausgeführt. Der durchschnittliche Stromverbrauch ging ebenfalls um etwas mehr als 10% zurück.

Es hat ungefähr vier Jahre gedauert, um diesen Fehler zu beheben, der erstmals am 8. Dezember 2015 gemeldet wurde.

WinEunuuchs2Unix
quelle