Come impostare intel_idle.max_cstate = 1


12

Come posso impostare Intel Idle Max Cstate su 1 e come posso verificare quando sarà fatto. ho un problema di congelamento a causa dei core della baia.

ho provato il kernel 4.5 4.1.12 4.4 ma il problema di congelamento continua ancora. al momento 4.4 è la mia versione del kernel.


A partire da ora (8/2019) questo thread in realtà non afferma che l'impostazione di intel_idle.max_cstate = 1 è una risoluzione ufficiale del bug pubblicato nel 2011. Dal momento che nel mio caso si tratta di (dovuto duplicare) un problema intermittente, prima che io AGGIUNGI intel_idle.max_cstate = 1 al mio GRUB, mi piace ottenere alcuni documenti che lo affermino. Il documento originale Bugzilla non è chiaro in tal senso. Alcuni partecipanti a questo forum possono gentilmente aiutarmi a verificare ufficialmente questa "correzione"?
Jan Hus,

Risposte:


21

Se si utilizza GRUB:

Con sudo, modifica /etc/default/grube modifica la GRUB_CMDLINE_LINUX_DEFAULTlinea aggiungendo intel_idle.max_cstate=1a tutto ciò che potrebbe essere già lì. Dopo aver salvato il file eseguito sudo update-grub, quindi riavviare. Suggerire di salvare prima una copia del file grub originale.

Per verificare che il tuo cstate non vada più in profondità di 1 usa turbostat (pacchetto: linux-tools-common).

Esempio (dove c'è già qualcosa sul GRUB_CMDLINE_LINUX_DEFAULT):

Prima (modificato):

$ 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

Apporta la modifica (usando il mio metodo per il controllo della configurazione):

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

Cambia questo:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"

A questa:

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

E aggiorna:

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

Ora controlla (modificato):

$ 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

Dovresti anche vedere questi messaggi in dmesge var/log/kern.log(modificati):

~$ 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

Mi chiedo quale valore, nell'output di turbostat, sta dimostrando che lo stato non sta andando più in profondità di 1. Con cosa intendi deeper? Cosa fare diversamente se si approfondisce?
Stephane,

1
@Stephane: Con "più profondo", intendevo stati c più alti di 1. se hai impostato correttamente la riga di comando grub, non dovrebbe andare a cstate più in profondità (più in alto di) 1. Puoi osservare CPU e pacchetto, cstate maggiore di 1 mostra il 0,00% di tempo in quegli stati sulla linea di uscita del turbostato.
Doug Smythies,

1
Il mio Thinkpad X201i stava eseguendo riavvii duri ogni ora. Ho abilitato intel_idle.max_cstate=1in the grub come GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"con un aggiornamento di grub sudo update-grube ho riavviato la macchina. Non si verificano più riavvii difficili. Sono (sono felice di aver risolto il mio problema. Mi chiedo che cosa stia dicendo esattamente questa proprietà alla CPU.
Stephane,

Cordiali saluti Seguo questa segnalazione di bug da circa un anno e potrebbe interessarvi anche voi: bugzilla.kernel.org/show_bug.cgi?id=109051 . Anche qui in AU: askubuntu.com/questions/803640/…
WinEunuuchs2Unix

3

Dopo aver avuto gli stessi problemi di congelamento con Linux e il mio asrock Q2900 ho trovato su un sito Web IT tedesco la soluzione / soluzione fornita da Intel. ( https://www.golem.de/news/intel-einfrieren-bei-intels-bay-trail-socs-durch-patch-abgefedert-1609-123546.html ) Esiste un problema generale con Bay-Trail-SoCs da Intel. Il link alla patch: https://bugzilla.kernel.org/attachment.cgi?id=223851

Ulteriori informazioni: Questa patch / script ottiene la modalità di risparmio energetico. L'argomento-soluzione sopra rimuove questa modalità.


Benvenuto in Ask Ubuntu! Sebbene ciò possa teoricamente rispondere alla domanda, sarebbe preferibile includere qui le parti essenziali della risposta e fornire i collegamenti come riferimento.
Elder Geek,

1

Modifica / etc / default / grub:

GRUB_CMDLINE_LINUX_DEFAULT="intel_idle.max_cstate=1"

Correre

update-grub
shutdown -r now

0

Non è più necessario aggiornare grub se si passa a un kernel più recente.

Secondo il commento # 1013 nella segnalazione di bug , ora è stato corretto:

Non ho controllato questa discussione da molto tempo, ma ho pensato che avrei dovuto pubblicare i miei risultati nel caso fosse utile a nessuno.

Un computer di fascia bassa dotato di un Intel N2807 che non ha mai funzionato per più di 30 minuti senza crash quando non ho impostato ... max_cstates = 1 ora funziona perfettamente con un kernel stock v. 5.3.1 o 4.19.75. L'ho eseguito per un paio di giorni con ogni versione senza problemi. Anche il consumo medio di energia è diminuito di poco più del 10%.

Sono stati necessari circa quattro anni per correggere questo bug segnalato per la prima volta l'8 dicembre 2015.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.