Se você tem problemas de congelamento no PC e precisa desativar o C-State da CPU, terá que usar o parâmetro “intel_idle.max_cstate” na inicialização do sistema.

Esse parâmetro vai carregar um módulo do kernel chamado intel_idle e dependendo do numero que vem depois de max_cstate você pode escolher qual o C-State máximo que a sua CPU vai usar.

Por exemplo:

Usando o parâmetro “intel_idle.max_cstate=0” o C-State máximo da CPU será o C0.

Enquanto com “intel_idle.max_cstate=2” o C-State máximo será C1E que é mais econômico que C0.

Como encontrar as opções de C-State

O numero de opções variam de acordo com o processador e para saber quais opções você pode usar basta abrir o terminal e usar esse comando:

grep . /sys/devices/system/cpu/cpu0/cpuidle/state*/name

terminal apos rodar o comando

Se eu quiser definir o C-State máximo como C1E, o parâmetro será intel_idle.max_cstate=2.

Porque no comando acima o C-State C1E está no diretório state2

/sys/devices/system/cpu/cpu0/cpuidle/state2/name:C1E

Como adicionar o parâmetro no kernel

Esse parametro é aplicado antes da inicialização do kernel e ele é aplicado no GRUB que é o inicializador padrão no Linux.

Basta abrir o arquivo grub, ele fica no diretório /etc/default e pode ser aberto por comando:

$ sudo nano /etc/default/grub

nano com o arquivo grub aberto

Basta adicionar o parâmetro na linha GRUB_CMDLINE_LINUX_DEFAULT como na imagem acima.

Basta salvar o arquivo e depois rodar o comando:

$  sudo update-grub

Por fim basta reiniciar o PC.

Referencias: