İntel_idle.max_cstate = 1 nasıl ayarlanır?


12

İntel idle max cstate'i nasıl 1 olarak ayarlayabilirim ve ne zaman yapılacağını nasıl kontrol edebilirim. defne izi çekirdekler nedeniyle donma sorunu var.

Çekirdek 4.5 denedim 4.1.12 4.4 ama donma sorunu hala devam ediyor. şu anda 4.4 benim çekirdek sürümüm.


Şu an itibariyle (8/2019) bu konu aslında intel_idle.max_cstate = 1 ayarının 2011'de yayınlanan hata için resmi bir çözüm olduğunu belirtmiyor. Benim durumumdan önce, GRUB'uma intel_idle.max_cstate = 1 EKLE, bunu belirten bazı belgeler almak istiyorum. Orijinal Bugzilla dokümanı bu konuda net değil. Bu forumdaki bazı katılımcılar bu "düzeltmeyi" resmi olarak doğrulamama yardımcı olabilir mi?
Jan Hus

Yanıtlar:


21

GRUB kullanıyorsanız:

İle sudo, orada olabilecek her şeye satır ekleme özelliğini düzenleyin /etc/default/grubve düzenleyin . Dosya çalıştırmayı kaydettikten sonra yeniden başlatın. İlk önce orijinal grub dosyanızın bir kopyasını kaydetmenizi öneririz.GRUB_CMDLINE_LINUX_DEFAULTintel_idle.max_cstate=1sudo update-grub

CStat'ınızın 1'den daha derine inmediğini kontrol etmek için turbostat kullanın (paket: linux-tools-common).

Örnek (üzerinde zaten bir şey varsa GRUB_CMDLINE_LINUX_DEFAULT):

Önce (düzenlenmiş):

$ 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

Değişikliği yapın (yapılandırma kontrolü için yöntemimi kullanarak):

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

Bunu değiştir:

GRUB_CMDLINE_LINUX_DEFAULT="ipv6.disable=1"

Buna:

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

Ve güncelleyin:

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

Şimdi kontrol edin (düzenlendi):

$ 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

Ayrıca şu iletileri de içinde ( dmesgve var/log/kern.logdüzenlenmiş) görmelisiniz :

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

turbostatSonuçta cstate'in 1'den daha derine gitmediğini gösteren değeri merak ediyorum . Ne ​​demek istiyorsun deeper? Daha derine inerse farklı olarak ne yapmalı?
Stephane

1
@Stephane: "Daha derine", 1'den daha yüksek c durumları demek istedim. Grub komut satırını düzgün bir şekilde ayarladıysanız, cstate derine (daha büyük) 1 gitmemelidir. CPU ve Paketi gözlemleyebilir, cstates daha büyük 1'den fazla ise turbostat çıkış hattındaki bu durumlarda% 0.00 zaman gösterir.
Doug Smythies

1
Thinkpad X201i cihazım her saat başı sert yeniden başlatma yapıyor. intel_idle.max_cstate=1Grubta GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"grub güncellemesinde olduğu gibi etkinleştirdim sudo update-grubve makineyi yeniden başlattım. Artık sert yeniden başlatma gerçekleşmez. Ben (sorunumu çözdüğüme sevindim. Bu özellik CPU'ya tam olarak ne söylüyor acaba?
Stephane

Bilginize Bu hata raporunu yaklaşık bir yıldır takip ediyorum ve ilginizi çekebilir: bugzilla.kernel.org/show_bug.cgi?id=109051 . Ayrıca AU'da
WinEunuuchs2Unix

3

Linux ve benim asrock Q2900 ile aynı donma problemleri yaşadıktan sonra bir Alman BT web sitesinde Intel tarafından sağlanan çözümü / geçici çözümü buldum. ( https://www.golem.de/news/intel-einfrieren-bei-intels-bay-trail-socs-durch-patch-abgefedert-1609-123546.html ) Bay-Trail-SoCs ile ilgili genel bir sorun var Intel. Yama bağlantısı: https://bugzilla.kernel.org/attachment.cgi?id=223851

Ek bilgi: Bu düzeltme eki / komut dosyası güç tasarrufu modunu elde eder. Yukarıdaki konu çözümü bu modu hiç kaldırmaz.


Ubuntu'ya Sor hoş geldiniz! Bu teorik olarak soruyu cevaplayabilirken, cevabın temel bölümlerini buraya dahil etmek ve referans için bağlantılar sağlamak tercih edilir.
Elder Geek

1

/ Etc / defaults / grub düzenle:

GRUB_CMDLINE_LINUX_DEFAULT="intel_idle.max_cstate=1"

Çalıştırmak

update-grub
shutdown -r now

0

En son çekirdeğe geçerseniz grubun güncellenmesine gerek yoktur.

Hata raporundaki # 1013 yorumuna göre artık düzeltildi:

Bu konuyu uzun zamandır kontrol etmedim, ancak kimseye herhangi bir faydası olması durumunda bulgularımı yayınlamam gerektiğini düşündüm.

Intel N2807 ile çalışan düşük ayarlı bir bilgisayar, ayarlamadığımda çökmeden asla 30 milyondan fazla çalışmadı ... max_cstates = 1 artık stok çekirdeği v. 5.3.1 veya 4.19.75 ile mükemmel bir şekilde çalışıyor. Ben herhangi bir sorun olmadan her sürüm ile birkaç gün boyunca koştu. Ortalama güç tüketimi de% 10'un biraz üzerinde bir düşüş gösterdi.

8 Aralık 2015'te bildirilen bu hatayı düzeltmek yaklaşık dört yıl sürdü.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.