intel_idle.max_cstate = 1 설정 방법


12

인텔 유휴 최대 cstate를 1로 설정하는 방법과 완료 시점을 어떻게 확인할 수 있습니까? 베이 트레일 코어로 인해 동결 문제가 있습니다.

커널 4.5 4.1.12 4.4를 시도했지만 정지 문제가 계속 발생합니다. 현재 4.4는 내 커널 버전입니다.


현재 (2019 년 8 월)이 스레드는 실제로 intel_idle.max_cstate = 1을 설정하는 것이 2011 년에 게시 된 버그의 공식 해결책이라고 명시하지 않습니다. 필자의 경우에는 간헐적 인 문제이므로 intel_idle.max_cstate = 1을 GRUB에 추가하면, 그 내용을 설명하는 문서를 얻고 싶습니다. 원래 Bugzilla 문서는 그 효과에 대해 명확하지 않습니다. 이 포럼의 일부 참가자가이“수정”을 공식적으로 확인하는 데 친절하게 도움을 줄 수 있습니까?
Jan Hus

답변:


21

GRUB를 사용하는 경우 :

을 사용하면 이미 존재하는 모든 항목에 추가 하여 행을 sudo편집 /etc/default/grub하고 편집하십시오 . 파일을 저장 한 후 run 을 다시 부팅하십시오. 원본 grub 파일의 사본을 먼저 저장하는 것이 좋습니다.GRUB_CMDLINE_LINUX_DEFAULTintel_idle.max_cstate=1sudo update-grub

cstate가 1보다 깊어지지 않는지 확인하려면 turbostat (package : 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

당신은 또한 (편집 된) 안에 다음 dmesg과 같은 메시지들을 보게됩니다 var/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. 더 깊이 들어가면 어떻게해야합니까?
Stephane

1
@Stephane : "더 깊은"이라는 말은 c보다 1보다 높은 상태를 의미했습니다. grub 명령 줄을 올바르게 설정하면 cstate가 더 깊게 (보다 높음) 1로 넘어 가지 않아야합니다. 1은 터보 스타트 출력 라인의 상태에서 0.00 % 시간을 나타냅니다.
Doug Smythies 2012 년

1
내 Thinkpad X201i는 매시간 하드 재시작을하고있었습니다. grub 업데이트 와 intel_idle.max_cstate=1같이 grub을 활성화 하고 컴퓨터를 다시 시작했습니다. 더 이상 하드 재시작이 발생하지 않습니다. (문제가 해결되어 다행입니다. CPU가이 속성이 정확히 무엇인지 궁금합니다.GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"sudo update-grub
Stephane

참고로 약 1 년 동안이 버그 보고서를 따라 왔으며 bugzilla.kernel.org/show_bug.cgi?id=109051 도 관심을 가질 수 있습니다 . 또한 여기에 AU : askubuntu.com/questions/803640/…
WinEunuuchs2Unix

3

Linux 및 내 asrock Q2900에서 동일한 동결 문제가 발생한 후 독일 IT 웹 사이트에서 Intel이 제공 한 솔루션 / 해결 방법을 찾았습니다. ( https://www.golem.de/news/intel-einfrieren-bei-intels-bay-trail-socs-durch-patch-abgefedert-1609-123546.html는 ) 베이 트레일-SoC를 가진 일반적인 문제가 있습니다 인텔에서. 패치 링크 : https://bugzilla.kernel.org/attachment.cgi?id=223851

추가 정보 :이 패치 / 스크립트는 절전 모드를 얻습니다. 위의 주제 솔루션은이 모드를 전혀 제거하지 않습니다.


우분투에 오신 것을 환영합니다! 이 이론적으로 질문에 대답 할 수 있습니다 동안, 바람직 할 것이다 여기에 대한 대답의 본질적인 부분을 포함하고 참조 할 수 있도록 링크를 제공합니다.
Geek

1

/ etc / defaults / grub을 편집하십시오 :

GRUB_CMDLINE_LINUX_DEFAULT="intel_idle.max_cstate=1"

운영

update-grub
shutdown -r now

0

최신 커널로 전환하면 더 이상 grub을 업데이트 할 필요가 없습니다.

버그 보고서의 주석 # 1013에 따르면 이제 수정되었습니다.

이 스레드를 오랫동안 확인하지는 않았지만 누군가에게 유용 할 경우를 대비하여 결과를 게시해야한다고 생각했습니다.

내가 설정하지 않았을 때 충돌없이 3 천만 이상 작동하지 않은 Intel N2807로 구동되는 저가형 컴퓨터는 이제 max_cstates = 1이 기본 커널 5.3.1 또는 4.19.75에서 완벽하게 작동합니다. 문제없이 각 버전으로 며칠 동안 실행했습니다. 평균 전력 소비량도 10 % 약간 감소했습니다.

2015 년 12 월 8 일에보고 된이 버그를 수정하는 데 약 4 년이 걸렸습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.