Intel_idle.max_cstate = 1 कैसे सेट करें


12

मैं इंटेल आइडल अधिकतम cstate को 1 पर कैसे सेट कर सकता हूं और जब यह किया जाएगा तो मैं कैसे जांच सकता हूं। बे ट्रेल कोर के कारण मुझे फ्रीज़ की समस्या है।

मैं कर्नेल 4.5 4.1.12 4.4 की कोशिश की, लेकिन फ्रीज समस्या अभी भी जारी है। फिलहाल 4.4 मेरा कर्नेल संस्करण है।


अब तक (8/2019) यह धागा वास्तव में यह नहीं बताता है कि Intel_idle.max_cstate = 1 सेट करना 2011 में प्रकाशित बग का एक आधिकारिक प्रस्ताव है। चूंकि मेरे मामले में यह (एक नकल करने के लिए) एक आंतरायिक समस्या है, इससे पहले कि मैं ADD Intel_idle.max_cstate = 1 से मेरे GRUB के लिए, मुझे यह बताते हुए कुछ प्रलेखन प्राप्त करना पसंद है। मूल Bugzilla डॉक्टर उस प्रभाव के लिए अस्पष्ट हैं। क्या इस फ़ोरम में कुछ प्रतिभागी आधिकारिक रूप से मुझे इस "फिक्स" को सत्यापित करने में मदद कर सकते हैं?
Jan Hus

जवाबों:


21

यदि GRUB का उपयोग कर रहे हैं:

इसके साथ sudo, जो कुछ भी हो सकता है, उसे जोड़ते /etc/default/grubहुए GRUB_CMDLINE_LINUX_DEFAULTलाइन को एडिट और एडिट करें intel_idle.max_cstate=1। फ़ाइल चलाने को सहेजने के बाद sudo update-grub, फिर से बूट करें। सुझाव दें कि आप पहले अपनी मूल ग्रब फ़ाइल की एक प्रति सहेज लें।

यह जांचने के लिए कि आपका cstate 1 उपयोग टर्बॉस्टेट (पैकेज: 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? अगर यह गहराई में जाए तो अलग तरीके से क्या करें?
स्टीफन

1
@ स्टेफ़ेन: "डीप" के अनुसार, मेरा मतलब उच्चतर c राज्यों से है। यदि आपने ग्रब कमांड लाइन को ठीक से सेट किया है, तो उसे अधिक गहराई तक नहीं जाना चाहिए (इससे अधिक) 1. आप CPU और पैकेज का निरीक्षण कर सकते हैं, cstates अधिक से अधिक टर्बोस्टैट आउटपुट लाइन पर उन राज्यों में 1 शो 0.00% समय है।
डग स्माइथिज

1
मेरा थिंकपैड X201i हर घंटे कड़ी मेहनत कर रहा था। मैंने intel_idle.max_cstate=1ग्रब में GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_idle.max_cstate=1"ग्रब अपडेट की तरह सक्षम किया sudo update-grubऔर मशीन को फिर से चालू किया। कोई भी कड़ी पुनः आरंभ नहीं होती है। मुझे खुशी है कि मैंने अपना मुद्दा सुलझा लिया। मुझे आश्चर्य है कि वास्तव में यह संपत्ति सीपीयू को क्या कह रही है।
स्टीफन

FYI करें मैं लगभग एक साल से इस बग रिपोर्ट का पालन कर रहा हूं और इसमें आपकी रुचि भी हो सकती है: bugzilla.kernel.org/show_bug.cgi?id=109051 । एयू में भी यहां: askubuntu.com/questions/803640/…
WinEunuuchs2Unix

3

लिनक्स के साथ एक ही फ्रीज-समस्याओं और मेरे asrock Q2900 होने के बाद, मैं एक जर्मन आईटी वेबसाइट पर पाया गया जो इंटेल के साथ प्रदान किया गया समाधान / समाधान है। ( https://www.golem.de/news/intel-einfrieren-bei-intels-bay-trail-socs-durch-patch-abgefedert-1609-123546.html ) Bay-Trail-SoCs के साथ एक सामान्य समस्या है इंटेल से। पैच का लिंक: https://bugzilla.kernel.org/attachment.cgi?id=223851

अधिक जानकारी: यह पैच / स्क्रिप्ट पावर सेविंग मोड प्राप्त करता है। उपरोक्त विषय-समाधान इस विधा को बिल्कुल नहीं हटाता है।


उबंटू पूछने के लिए आपका स्वागत है! जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना और संदर्भ के लिए लिंक प्रदान करना बेहतर होगा
एल्डर गीक

1

संपादित करें / आदि / चूक / ग्रब:

GRUB_CMDLINE_LINUX_DEFAULT="intel_idle.max_cstate=1"

Daud

update-grub
shutdown -r now

0

यदि आप सबसे हाल के कर्नेल पर स्विच करते हैं तो अब ग्रब को अपडेट करने की कोई आवश्यकता नहीं है।

बग रिपोर्ट में # 1013 टिप्पणी के अनुसार यह अब तय हो गया है:

मैंने लंबे समय तक इस धागे की जाँच नहीं की है, लेकिन मुझे लगा कि मुझे अपने निष्कर्षों को केवल उस स्थिति में पोस्ट करना चाहिए जब यह किसी के लिए किसी काम का हो।

Intel N2807 के साथ संचालित एक कम अंत वाला कंप्यूटर जो बिना सेट किए 30 क्रैश से अधिक का काम नहीं करता है ... max_cstates = 1 अब स्टॉक कर्नेल v। 5.3.1 या 4.19.75 के साथ पूरी तरह से काम करता है। मैंने बिना किसी मुद्दे के प्रत्येक संस्करण के साथ कुछ दिनों के लिए इसे चलाया। औसत बिजली की खपत भी 10% से थोड़ी कम थी।

पहली बार 8 दिसंबर, 2015 को रिपोर्ट किए गए इस बग को ठीक करने में लगभग चार साल लगे हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.