Kipmi0, 6.4% पर 99.8% सीपीयू खा रहा है


15

हमारे पास सेंटोस 6.4 है और यह kipmi099.8% सीपीयू और 0.0% मेमोरी और लोड औसत 1.00 के रूप में दिखा रहा है। इस पर लगाम लगाने के लिए हमें क्या करना चाहिए?



2
@ मैंने इसे पहले पढ़ा है इसलिए यह कहता है कि मुझे केवल उपेक्षा करना चाहिए लेकिन मेरी अन्य मशीनों में यह समस्या नहीं है?
biz14

क्या अन्य प्रणालियाँ इस प्रणाली के समान हैं? आप यह निर्धारित करने जा रहे हैं कि वे हैं। ऐसा कुछ होना चाहिए जो उनके बीच मौलिक रूप से भिन्न हो। फर्मवेयर? समान RPM संस्करण?
स्लम

@ हाँ एक ही सेंटोस के साथ दो समान मशीनें हैं 6.4 मुझे अब क्या देखना चाहिए?
biz14

से आउटपुट की तुलना करें lshwऔर dmidecodeमेरा अगला क्षेत्र होगा।
स्लम

जवाबों:


5

डिबगिंग समस्या

क्या अन्य प्रणालियाँ इस प्रणाली के समान हैं? आप यह निर्धारित करने जा रहे हैं कि वे हैं। ऐसा कुछ होना चाहिए जो उनके बीच मौलिक रूप से भिन्न हो। फर्मवेयर? समान RPM संस्करण?

आप इस तरह के रूप में उपकरण का उपयोग कर सकते हैं lshw, dmidecodeऔर को देखकर dmesgक्या अलग है और क्या मूल कारण है के रूप में सुराग के लिए लॉग।

मुझे इस कमांड को चलाने वाले RPM की एक अच्छी बेसलाइन मिलेगी, जो इस समस्या को प्रदर्शित नहीं कर रहा है और जो है और जो पैकेज सूचियों की तुलना करता है, वे यह सुनिश्चित करते हैं कि वे एक ही संस्करण में हों।

 # machine #1
 $ rpm -aq | sort -rn > machine1_rpms.txt

 # machine #2
 $ rpm -aq | sort -rn > machine2_rpms.txt     

फिर एक ही मशीन पर फ़ाइलें प्राप्त करें और 2 फ़ाइलों की एक sdiff करें:

 sdiff machine1_rpms.txt machine2_rpms.txt

संभावित कारण # 1

आईबीएम वेबसाइट ने इस मुद्दे के बारे में लिनक्स पर : Kipmi0 मे शो शो बढ़ सीपीयू यूटिलाइजेशन का शीर्षक दिया था । इस समस्या के अनुसार आप समस्या की अनदेखी कर सकते हैं।

मुद्दे का विवरण

Kipmi0 प्रक्रिया लिनक्स में बढ़े हुए सीपीयू उपयोग को दिखा सकती है। IPMI (इंटेलिजेंट प्लेटफ़ॉर्म मैनेजमेंट इंटरफ़ेस) डिवाइस, जैसे BMC (बेसबोर्ड मैनेजमेंट कंट्रोलर) या IMM (इंटीग्रेटेड मैनेजमेंट कंट्रोलर) व्यस्त या गैर-उत्तरदायी होने पर उपयोग 100% तक बढ़ सकता है।

ठीक कर

कोई फिक्स की आवश्यकता नहीं है। आपको बढ़े हुए CPU उपयोग की उपेक्षा करनी चाहिए क्योंकि इसका वास्तविक सिस्टम प्रदर्शन पर कोई प्रभाव नहीं पड़ता है।

काम के आसपास

  1. IPMI डिवाइस का उपयोग करते समय, BMC रीसेट करें या सिस्टम को रिबूट करें।
  2. यदि IPMI डिवाइस का उपयोग नहीं किया जा रहा है, तो निम्न आदेश जारी करके IPMI सेवा बंद करें:

    सेवा ipmi रोक

संभावित समाधान # 2

मुझे यह पोस्ट किसी के ब्लॉग पर मिली, जिसका शीर्षक था: kipmi0 समस्या । यह समस्या आपके समरूप लग रही थी। इस समस्या को 2 कर्नेल मॉड्यूल के साथ एक समस्या का पता लगाया गया था जो के भाग के रूप में लोड हो रहे थेlm_sensors पैकेज के ।

ये 2 कर्नेल मॉड्यूल थे:

  • ipmi_si
  • ipmi_msghandler

काम के आसपास

आप निम्न आदेशों के साथ इन्हें मैन्युअल रूप से हटा सकते हैं:

rmmod ipmi_msghandler
rmmod ipmi_si

इस फिक्स को स्थायी करने के लिए, आपको lm_sensorsविन्यास फाइल में से किसी एक के भीतर इन विशेष कर्नेल मॉड्यूल के लोडिंग को निष्क्रिय करना होगा , उन्हें इस तरह टिप्पणी करके:

# /etc/sysconfig/lm_sensors
# MODULE_0=ipmi-si
# MODULE_1=ipmisensors
# MODULE_2=coretemp

lm_sensorsइन परिवर्तनों को करने के बाद पुनः आरंभ करें:

/etc/init.d/lm_sensors

मैं दोनों वेबसाइट पर गया हूं और मेरे सिस्टम में मुझे यह फाइल / etc / sysconfig / lm_sensors नहीं मिली है। पहली फाइल पर सॉर्ट करते समय कुछ अजीब होता है, लेकिन दूसरी फाइल desc होती है? दूसरी बात यह है कि एक फ़ाइल में अंतर कैसे आउटपुट करें। हां मैं काफी अंतर देख सकता हूं।
biz14

हाँ अब मैंने दूसरी बार किया है यह अवरोही के अनुसार क्रमबद्ध है। मुझे नहीं पता है कि आपको grep का उपयोग कैसे करना है "" | इस समस्या को सुधारने के लिए मुझे और क्या करना चाहिए?
biz14

मैं बस यही करने के लिए कह रहा था: sdiff machine1_rpms.txt machine2_rpms.txt | grep "|"सभी अंतरों को बाहर निकाल देगा। 2 / .txt फाइलें। इसे करने के अन्य तरीके हैं लेकिन यह एक तरीका है।
SLM

मैंने इस कमांड को चलाया और यहाँ आउटपुट sdiff 12_rpms.txt 11_rpms.txt है grep "|" perl-DBI-1.609-4.el6.x86_64 | perl-Digest-SHA-5.47-131.el6_4.x86_64। 12_rpms समस्या मशीन है और अन्य समस्या के बिना है। लेकिन जब मैं मैन्युअल रूप से देखता हूं 12_rpms में 247 लाइनें होती हैं और 11_rpms में 263 होते हैं लेकिन एसडीएफ सिर्फ एक है? तो इस अंतर के आधार पर अब मेरा अगला कदम क्या होना चाहिए?
biz14

कृपया इन फ़ाइलों को pastebin.com पर भी पोस्ट करें ।
SLM

24

IPMI दस्तावेज़ के अनुसार :

यह थ्रेड इंटरफ़ेस के प्रदर्शन के आधार पर बहुत सारे CPU का उपयोग कर सकता है। यह बहुत सारे CPU को बर्बाद कर सकता है और निष्क्रिय CPU का पता लगाने और अतिरिक्त शक्ति का उपयोग करने के साथ विभिन्न मुद्दों का कारण बन सकता है। इससे बचने के लिए, kipmid_max_busy_us माइक्रोसेकंड में, अधिकतम समय निर्धारित करता है, कि टिकमाइड सोने से पहले टिक जाएगा। यह मान प्रदर्शन और CPU कचरे के बीच संतुलन स्थापित करता है और आपकी आवश्यकताओं के अनुरूप होना चाहिए। हो सकता है, किसी दिन, ऑटो-ट्यूनिंग को जोड़ा जाएगा, लेकिन यह एक साधारण बात नहीं है और यहां तक ​​कि ऑटो-ट्यूनिंग को उपयोगकर्ता के वांछित प्रदर्शन के लिए ट्यून करने की आवश्यकता होगी।

इसलिए, हम kipmid_max_busy_us पैरामीटर सेट करने के लिए इस कमांड को निष्पादित कर सकते हैं:

echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us

हमारे सिस्टम में, इस पैरामीटर को सेट करने के बाद, kipmi0 का सीपीयू घटकर 15% हो गया।

आप यह कोशिश कर सकते हैं।

परिवर्तनों को लगातार बनाए रखने के लिए आप ipmi_si कर्नेल मॉड्यूल के विकल्पों को कॉन्फ़िगर कर सकते हैं।
फ़ाइल बनाएँ /etc/modprobe.d/, यानी /etc/modprobe.d/ipmi.conf, और निम्न सामग्री जोड़ें: अब हर बार ipmi_si कर्नेल मॉड्यूल को कर्नेल में लोड किया जाता है, पैरामीटर स्वचालित रूप से और सही तरीके से सेट होना चाहिए।
# Prevent kipmi0 from consuming 100% CPU
options ipmi_si kipmid_max_busy_us=100


हालांकि यह सही उत्तर हो सकता है, यह आपके उत्तर के हिस्से के रूप में तर्क के साथ-साथ किसी भी बाहरी लिंक को उद्धृत करने के लिए एसई साइटों पर सबसे अच्छा अभ्यास माना जाता है। इस तरह, यदि बाहरी लिंक विचलित हो जाता है, तो तर्क और तर्क अभी भी यहाँ देखने योग्य है।
द्रविण स्लोन

क्या ऐसा कोई मानक तरीका है जो स्थायी रूप से प्रभावी हो?
thaharold

CentOS / RHEL पर, उस कमांड को /etc/rc.d/rc.local में जोड़कर स्थायी बनाया जा सकता है। R.local अन्य init स्क्रिप्ट के सभी के बाद चलता है।
thaharold

1

kipmi0 को पूरी तरह से ipmi_si.force_kipmid=0कर्नेल पैरामीटर के रूप में जोड़कर CentOS 6 पर निष्क्रिय किया जा सकता है

आप जिस कर्ब को बूट करना चाहते हैं उसे हाइलाइट करके GRUB बूट स्क्रीन पर टेस्ट करें, मापदंडों और संशोधित करने के लिए 'a' को हिट करें ipmi_si.force_kipmid=0

ipmi_si.force_kipmid=0में संबंधित कर्नेल लाइनों को जोड़कर स्थायी बनाएं/boot/grub/grub.conf

नोट: एक अलग कर्नेल मॉड्यूल के रूप में ipmi_si डिस्ट्रोस में, modprobe.d conf फ़ाइल का उपयोग करना अधिक उपयुक्त है। CentOS में ipmi_si कर्नेल छवि में बनाया गया है, इसलिए modprobe config काम नहीं करता है।


1

CentOS 6 में ipmi ड्राइवर को कर्नेल में संकलित किया गया है। अगर आपको ipmi सपोर्ट की जरूरत नहीं है तो इसे grub.conf को डिसेबल कर दें

ipmi_si.tryacpi=0 ipmi_si.trydmi=0 ipmi_si.trydefaults=0

1

मैंने पाया कि इस मुद्दे के साथ निम्नलिखित मदद करता है:

ipmitool bmc info

यह IPMI को जगाने लगता है और फिर 100% कोर का उपयोग करना बंद कर देता है।

मुझे निम्न सहायक भी मिले:

echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us

इसके अलावा अतीत में मैं कुछ सर्वरों पर 100% CPU उपयोग को हल करने में सक्षम रहा हूं:

ipmitool lan print

तथा

ipmitool bmc reset cold

लेकिन मेरे सबसे हाल के अनुभव में उपरोक्त विकल्प सिर्फ ipmitoolगैर-उत्तरदायी होने और वहां बैठने का कारण बनेंगे, जिससे मुझे Ctrl+ Cयह हो जाएगा।

उम्मीद है कि यह किसी की मदद करता है।


क्या कोई समस्या है echo 1 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us?
कियान चेन

0

मैंने इसे रनिंग CentOS 7 पाया और यह पता लगाने की कोशिश कर रहा था कि यह क्या कर रहा है।

मेरे लिए, यह सुपरमाइक्रो का "आईपीमिकफग" था, जो मैंने लिखी गई स्क्रिप्ट या कुछ से चल रहा था। मैंने इसे पूरा किया और kipmi0 उपयोग चला गया।

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