เรามี CentOS 6.4 และkipmi0
แสดงเป็น cpu 99.8% และหน่วยความจำ 0.0% และค่าเฉลี่ยการโหลดคือ 1.00 เราควรทำอย่างไรเพื่อแก้ไขสิ่งนี้
lshw
และdmidecode
จะเป็นพื้นที่ต่อไปของฉันเพื่อดู
เรามี CentOS 6.4 และkipmi0
แสดงเป็น cpu 99.8% และหน่วยความจำ 0.0% และค่าเฉลี่ยการโหลดคือ 1.00 เราควรทำอย่างไรเพื่อแก้ไขสิ่งนี้
lshw
และdmidecode
จะเป็นพื้นที่ต่อไปของฉันเพื่อดู
คำตอบ:
ระบบอื่นเหมือนกันกับระบบนี้หรือไม่? คุณจะต้องตรวจสอบว่าพวกเขาเป็น จะต้องมีสิ่งที่แตกต่างกันโดยพื้นฐานระหว่างพวกเขา เฟิร์มแว? รุ่น RPM เดียวกันหรือไม่
คุณสามารถใช้เครื่องมือเช่นlshw
, dmidecode
และกำลังมองหาที่dmesg
บันทึกเพื่อหาเบาะแสเป็นสิ่งที่แตกต่างกันและสิ่งที่เป็นสาเหตุ
ฉันจะได้รับพื้นฐานที่ดีของ RPMs ที่ติดตั้งโดยใช้คำสั่งนี้กับหนึ่งในระบบที่ไม่แสดงปัญหานี้และสิ่งที่เป็นและเปรียบเทียบรายการแพ็กเกจเพื่อให้แน่ใจว่าพวกเขาอยู่ในรุ่นเดียวกัน
# machine #1
$ rpm -aq | sort -rn > machine1_rpms.txt
# machine #2
$ rpm -aq | sort -rn > machine2_rpms.txt
จากนั้นรับไฟล์บนเครื่องเดียวกันและทำ sdiff ของ 2 ไฟล์:
sdiff machine1_rpms.txt machine2_rpms.txt
เว็บไซต์ IBM มี technote นี้ชื่อ: Kipmi0 อาจแสดงการใช้งาน CPU ที่เพิ่มขึ้นบน Linuxเกี่ยวกับปัญหานี้ ตามประเด็นนี้คุณสามารถเพิกเฉยต่อปัญหานี้ได้
คำอธิบายของปัญหา
กระบวนการ kipmi0 อาจแสดงการใช้งาน CPU เพิ่มขึ้นใน Linux การใช้งานอาจเพิ่มขึ้นสูงถึง 100% เมื่ออุปกรณ์ IPMI (Intelligent Platform Management Interface) เช่น BMC (Baseboard Management Controller) หรือ IMM (Integrated Management Controller) ไม่ว่างหรือไม่ตอบสนอง
แก้ไข
ไม่จำเป็นต้องแก้ไข คุณควรละเว้นการใช้งาน CPU ที่เพิ่มขึ้นเนื่องจากไม่มีผลกระทบต่อประสิทธิภาพของระบบจริง
ทำงานรอบ
หากไม่ได้ใช้อุปกรณ์ IPMI ให้หยุดบริการ IPMI โดยออกคำสั่งต่อไปนี้:
บริการ ipmi หยุด
ผมพบว่าการโพสต์เกี่ยวกับเรื่องนี้ someones บล็อกชื่อเพียง: ปัญหา kipmi0 ปัญหานี้ฟังดูเหมือนกับคุณ ปัญหาถูกโยงไปถึงปัญหากับ 2 โมดูลเคอร์เนลที่ได้รับการโหลดเป็นส่วนหนึ่งของlm_sensors
แพคเกจ
นี่คือ 2 เคอร์เนลโมดูล:
ทำงานรอบ
คุณสามารถลบเหล่านี้ด้วยตนเองด้วยคำสั่งต่อไปนี้:
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
sdiff machine1_rpms.txt machine2_rpms.txt | grep "|"
จะดึงความแตกต่างทั้งหมด b / w ที่ไฟล์ 2 .txt มีวิธีอื่นที่จะทำ แต่นั่นเป็นวิธีหนึ่ง
ตามเอกสาร IPMI :
เธรดนี้สามารถใช้ CPU จำนวนมากขึ้นอยู่กับประสิทธิภาพของอินเทอร์เฟซ สิ่งนี้อาจทำให้เสีย CPU มากและทำให้เกิดปัญหาต่างๆกับการตรวจจับ CPU ที่ไม่ได้ใช้งานและการใช้พลังงานเพิ่มเติม เพื่อหลีกเลี่ยงปัญหานี้ kipmid_max_busy_us จะตั้งค่าจำนวนเวลาสูงสุดในหน่วยไมโครวินาทีซึ่ง kipmid จะหมุนก่อนที่จะเห็บ ค่านี้ตั้งค่าสมดุลระหว่างประสิทธิภาพและความสิ้นเปลืองของ CPU และจำเป็นต้องปรับตามความต้องการของคุณ บางทีสักวันการปรับแต่งอัตโนมัติจะถูกเพิ่ม แต่นั่นไม่ใช่เรื่องง่ายและแม้แต่การปรับอัตโนมัติก็จำเป็นต้องปรับให้เข้ากับประสิทธิภาพที่ผู้ใช้ต้องการ
ดังนั้นเราสามารถดำเนินการคำสั่งนี้เพื่อตั้งค่าพารามิเตอร์ kipmid_max_busy_us:
echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
ในระบบของเราหลังจากตั้งค่าพารามิเตอร์นี้ cpu ของ 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
kipmi0 สามารถปิดการใช้งานบน CentOS 6 ทั้งหมดโดยการเพิ่มipmi_si.force_kipmid=0
เป็นพารามิเตอร์เคอร์เนล
ทดสอบที่หน้าจอบูต GRUB โดยเน้นเคอร์เนลที่คุณต้องการบู๊ตกด 'a' เพื่อแก้ไขพารามิเตอร์และต่อท้าย ipmi_si.force_kipmid=0
ทำให้ถาวรโดยต่อท้ายipmi_si.force_kipmid=0
เคอร์เนลที่เกี่ยวข้องใน/boot/grub/grub.conf
หมายเหตุ: ใน distros ที่มี ipmi_si เป็นโมดูลเคอร์เนลที่แยกต่างหากการใช้ไฟล์ modprobe.d conf นั้นเหมาะสมกว่า ใน CentOS ipmi_si ถูกสร้างไว้ในอิมเมจเคอร์เนลดังนั้น modprobe configs จึงไม่ทำงาน
CentOS 6 มีไดรเวอร์ ipmi ที่คอมไพล์ในเคอร์เนล หากคุณไม่ต้องการการสนับสนุน ipmi ให้ปิดการใช้งาน grub.conf
ipmi_si.tryacpi=0 ipmi_si.trydmi=0 ipmi_si.trydefaults=0
ฉันพบความช่วยเหลือต่อไปนี้เกี่ยวกับปัญหานี้:
ipmitool bmc info
ดูเหมือนว่าจะปลุก IPMI แล้วหยุดใช้ 100% ของคอร์
ฉันพบว่ามีประโยชน์ดังต่อไปนี้:
echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
ในอดีตที่ผ่านมาฉันสามารถใช้เซิร์ฟเวอร์บางตัวในการแก้ไขการใช้ CPU 100% ได้โดย:
ipmitool lan print
และ
ipmitool bmc reset cold
แต่ในประสบการณ์ที่ผ่านมามากที่สุดของฉันข้างต้นตัวเลือกก็จะทำให้เกิดการipmitool
ที่จะไม่ตอบสนองและนั่งอยู่ตรงนั้นทำให้ฉันCtrl+ Cมัน
หวังว่านี่จะช่วยใครซักคน
echo 1 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
บ้าง?
ฉันพบ CentOS 7 ที่กำลังทำงานอยู่นี้และพยายามหาสิ่งที่ทำให้เกิดขึ้น
สำหรับฉันมันคือ "ipmicfg" ของซูเปอร์ไมโครที่เรียกใช้จากสคริปต์ที่ฉันเขียนหรือบางอย่าง ฉันแค่ pkilled มันและการใช้งาน kipmi0 ก็หายไป