CentOS 6.4'ümüz var ve kipmi0
% 99.8 cpu,% 0.0 bellek ve yük ortalaması 1.00. Bunu düzeltmek için ne yapmalıyız?
lshw
ve dmidecode
içine bakmak benim sonraki alanlar olacaktır.
CentOS 6.4'ümüz var ve kipmi0
% 99.8 cpu,% 0.0 bellek ve yük ortalaması 1.00. Bunu düzeltmek için ne yapmalıyız?
lshw
ve dmidecode
içine bakmak benim sonraki alanlar olacaktır.
Yanıtlar:
Diğer sistemler bu sistemle aynı mı? Bunları belirlemeniz gerekecek. Aralarında temelde farklı bir şey olmalı. Firmware? Aynı RPM sürümleri?
Aşağıdaki gibi araçları kullanabilirsiniz lshw
, dmidecode
ve şu an dmesg
neyi farklı neyin kök neden olduğunu için ipuçları için log.
Bu komutu bu sorunu sergilemeyen sistemlerden birinde ve bu komutların hepsinin aynı sürümlerde olduğundan emin olmak için paket komutlarını çalıştırarak yüklenen RPM'lerin iyi bir temelini alırdım.
# machine #1
$ rpm -aq | sort -rn > machine1_rpms.txt
# machine #2
$ rpm -aq | sort -rn > machine2_rpms.txt
Sonra dosyaları aynı makineye alın ve 2 dosyadan bir sdiff yapın:
sdiff machine1_rpms.txt machine2_rpms.txt
IBM web sitesinde şu konu başlıklı bir teknik vardı: Kipmi0 , bu konuda Linux'ta Artan CPU Kullanımı Gösterebilir . Bu sayıya göre, sorunu göz ardı edebilirsiniz.
sorunun tarifi
Kipmi0 işlemi Linux'ta artan CPU kullanımını gösterebilir. BMC (Ana Kart Yönetim Denetleyicisi) veya IMM (Entegre Yönetim Denetleyicisi) gibi IPMI (Akıllı Platform Yönetim Arayüzü) cihazı meşgul veya yanıt vermiyorsa kullanım% 100'e kadar çıkabilir.
Fix
Düzeltme gerekmez. Gerçek sistem performansı üzerinde hiçbir etkisi olmadığı için artan CPU kullanımını göz ardı etmelisiniz.
İşle etrafında
IPMI aygıtı kullanmıyorsanız, aşağıdaki komutu vererek IPMI hizmetini durdurun:
hizmet ipmi durdurma
Bu yazıyı basitçe başlıklı birileri blogunda buldum: kipmi0 problem . Bu sorun seninkine benziyordu. Sorun, lm_sensors
paketin bir parçası olarak yüklenen 2 çekirdek modülüyle ilgili bir sorunla ilgili olarak izlendi .
Bunlar 2 çekirdek modülüdür:
İşle etrafında
Bunları aşağıdaki komutlarla manuel olarak kaldırabilirsiniz:
rmmod ipmi_msghandler
rmmod ipmi_si
Bu düzeltmeyi kalıcı hale getirmek için, bu belirli çekirdek modüllerinin lm_sensors
yapılandırma dosyalarından birine yüklenmesini şu şekilde yorumlayarak devre dışı bırakmanız gerekir :
# /etc/sysconfig/lm_sensors
# MODULE_0=ipmi-si
# MODULE_1=ipmisensors
# MODULE_2=coretemp
lm_sensors
Bu değişiklikleri yaptıktan sonra yeniden başlatın :
/etc/init.d/lm_sensors
sdiff machine1_rpms.txt machine2_rpms.txt | grep "|"
2 .txt dosyalarındaki tüm farklılıkları ortaya çıkaracak. Bunu yapmanın başka yolları da var ama bu bir yol.
Göre IPMI Belgesi :
bu iş parçacığı, arabirimin performansına bağlı olarak çok fazla CPU kullanabilir. Bu, çok fazla CPU harcayabilir ve boş CPU'ları algılayıp ekstra güç kullanarak çeşitli sorunlara neden olabilir. Bundan kaçınmak için kipmid_max_busy_us, kipmidin bir kene için uyumadan önce döneceği maksimum süreyi mikrosaniye olarak ayarlar. Bu değer, performans ve CPU atıkları arasında bir denge kurar ve ihtiyaçlarınıza göre ayarlanması gerekir. Belki bir gün otomatik ayar eklenir, ancak bu basit bir şey değildir ve otomatik ayarın bile kullanıcının istediği performansına ayarlanması gerekir.
Bu nedenle, kipmid_max_busy_us parametresini ayarlamak için bu komutu yürütebiliriz:
echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
Sistemimizde, bu parametreyi ayarladıktan sonra, kipmi0 işlemcisi% 15'e düştü.
Bunu deneyebilirsiniz.
Değişiklikleri kalıcı hale getirmek için ipmi_si çekirdek modülü seçeneklerini yapılandırabilirsiniz.
Bir dosya oluşturun /etc/modprobe.d/
, yani /etc/modprobe.d/ipmi.conf
aşağıdaki içeriği ekleyin:
Şimdi ipmi_si çekirdek modülü çekirdeğe her yüklendiğinde, parametre otomatik ve doğru bir şekilde ayarlanmalıdır.
# Prevent kipmi0 from consuming 100% CPU
options ipmi_si kipmid_max_busy_us=100
kipmi0, CentOS 6'da ipmi_si.force_kipmid=0
bir çekirdek parametresi olarak eklenerek tamamen devre dışı bırakılabilir
Önyükleme yapmak istediğiniz çekirdeği vurgulayarak GRUB önyükleme ekranında test edin, parametreleri değiştirmek ve eklemek için 'a' tuşuna basın. ipmi_si.force_kipmid=0
İçindeki ipmi_si.force_kipmid=0
ilgili çekirdek satırlarına ekleyerek kalıcı hale getirin/boot/grub/grub.conf
Not: ayrı bir çekirdek modülü olarak ipmi_si olan dağıtımlarda, bir modprobe.d conf dosyası kullanmak daha uygundur. CentOS ipmi_si çekirdek görüntüsünde yerleşiktir, bu nedenle modprobe yapılandırmaları çalışmaz.
Bu sorunla ilgili aşağıdaki yardımcıları buldum:
ipmitool bmc info
Bu IPMI'yi uyandırıyor ve daha sonra bir çekirdeğin% 100'ünü kullanmayı bırakıyor.
Ayrıca aşağıdakileri yararlı buldum:
echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
Ayrıca geçmişte bazı sunucularda% 100 CPU kullanımını şu şekilde çözebildim:
ipmitool lan print
ve
ipmitool bmc reset cold
ancak en son deneyimlerime göre, yukarıdaki seçenekler ipmitool
yanıt vermemeye ve orada oturmamıza neden olarak bana Ctrl+ neden oluyordu C.
Umarım bu birine yardımcı olur.
echo 1 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
?