Cách đặt intel_idle.max_cstate = 1


10

Làm thế nào tôi có thể đặt intel idle max cstate thành 1 và làm thế nào tôi có thể kiểm tra khi nào nó sẽ hoàn thành. tôi có một vấn đề đóng băng vì lõi bay.

tôi đã thử kernel 4.5 4.1.12 4.4 nhưng vấn đề đóng băng vẫn tiếp tục. tại thời điểm 4.4 là phiên bản kernel của tôi.


Cho đến bây giờ (8/2019), chủ đề này không thực sự nói rằng việc đặt intel_idle.max_cstate = 1 là một giải pháp chính thức cho lỗi được xuất bản vào năm 2011. Vì trong trường hợp của tôi, nó đã (phải sao chép) một vấn đề không liên tục, trước khi tôi THÊM intel_idle.max_cstate = 1 vào GRUB của tôi, tôi muốn nhận được một số tài liệu nêu rõ điều đó. Tài liệu Bugzilla ban đầu không rõ ràng về hiệu ứng đó. Một số người tham gia diễn đàn này có thể vui lòng giúp tôi xác minh chính thức bản sửa lỗi này không?
Jan Hus

Câu trả lời:


18

Nếu sử dụng GRUB:

Với sudo, chỉnh sửa /etc/default/grubvà chỉnh sửa GRUB_CMDLINE_LINUX_DEFAULTdòng thêm intel_idle.max_cstate=1vào bất cứ điều gì có thể đã có ở đó. Sau khi lưu tập tin chạy sudo update-grub, sau đó khởi động lại. Đề nghị bạn lưu một bản sao của tệp grub gốc của bạn trước.

Để kiểm tra xem cstate của bạn không sâu hơn 1, hãy sử dụng tuabin (gói: linux-tools-common).

Ví dụ (nơi đã có một cái gì đó trên GRUB_CMDLINE_LINUX_DEFAULT):

Trước (chỉnh sửa):

$ 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

Thực hiện thay đổi (sử dụng phương pháp của tôi để kiểm soát cấu hình):

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

Thay đổi điều này:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"

Về điều này:

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

Và cập nhật:

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

Bây giờ hãy kiểm tra (chỉnh sửa):

$ 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

Bạn cũng sẽ thấy những thông báo này trong dmesgvar/log/kern.log(chỉnh sửa):

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

Tôi tự hỏi giá trị nào, trong đầu ra của turbostat, cho thấy cstate không đi sâu hơn 1. Bạn có ý nghĩa deepergì với ? Làm gì khác đi nếu nó đi sâu hơn?
Stephane

1
@Stephane: Bằng cách "sâu hơn", ý tôi là trạng thái c cao hơn 1. nếu bạn đã đặt dòng lệnh grub đúng cách, thì không nên đi sâu hơn cstate (cao hơn) 1. Bạn có thể quan sát CPU và Gói, cstates lớn hơn hơn 1 hiển thị 0,00% thời gian ở các trạng thái trên đường đầu ra của tuabin.
Doug Smythies

1
Thinkpad X201i của tôi đã làm việc khởi động lại khó khăn mỗi giờ. Tôi đã kích hoạt intel_idle.max_cstate=1trong grub như GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"với bản cập nhật grub sudo update-grubvà khởi động lại máy. Không có khởi động lại cứng xảy ra nữa. Tôi (tôi rất vui vì đã giải quyết được vấn đề của mình. Tôi tự hỏi chính xác thì tài sản này nói gì với CPU.
Stephane

FYI Tôi đã theo dõi báo cáo lỗi này trong khoảng một năm và nó cũng có thể khiến bạn quan tâm: bugzilla.kernel.org/show_orms.cgi?id=109051 . Cũng ở đây trong AU: askubfox.com/questions/803640/ Kẻ
WinEunuuchs2Unix

3

Sau khi gặp vấn đề đóng băng tương tự với linux và as29 Q2900 của tôi, tôi đã tìm thấy trên một trang web CNTT của Đức giải pháp / giải pháp được cung cấp bởi Intel. ( https://www.golem.de/news/intel-einfrieren-bei-intels-bay-trail-socs-durch-patch-abgefedert-1609-123546.html ) Có một vấn đề chung với Bay-Trail-SoCs từ Intel. Liên kết đến bản vá: https://ormszilla.kernel.org/attachment.cgi?id=223851

Thông tin khác: Bản vá / tập lệnh này có được chế độ tiết kiệm năng lượng. Giải pháp chủ đề ở trên không loại bỏ chế độ này.


Chào mừng bạn đến hỏi Ubuntu! Trong khi về mặt lý thuyết có thể trả lời câu hỏi, tốt hơn là nên bao gồm các phần thiết yếu của câu trả lời ở đây và cung cấp các liên kết để tham khảo.
Anh Cả Geek

1

Chỉnh sửa / etc / mặc định / grub:

GRUB_CMDLINE_LINUX_DEFAULT="intel_idle.max_cstate=1"

Chạy

update-grub
shutdown -r now

0

Không cần cập nhật grub nữa nếu bạn chuyển sang kernel mới nhất.

Theo nhận xét # 1013 trong báo cáo lỗi , hiện đã được sửa:

Tôi đã không kiểm tra chủ đề này trong một thời gian dài, nhưng tôi nghĩ rằng tôi nên đăng những phát hiện của mình trong trường hợp nó có ích cho bất kỳ ai.

Một máy tính cấp thấp được trang bị Intel N2807 không bao giờ hoạt động quá 30 mn mà không gặp sự cố khi tôi không đặt ... max_cstates = 1 giờ hoạt động hoàn hảo với kernel stock v. 5.3.1 hoặc 4.19.75. Tôi đã chạy nó trong một vài ngày với mỗi phiên bản mà không có vấn đề gì. Tiêu thụ điện năng trung bình cũng giảm hơn 10% một chút.

Phải mất khoảng bốn năm để sửa lỗi này lần đầu tiên được báo cáo vào ngày 8 tháng 12 năm 2015.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.