У нас є CentOS 6.4, і показник kipmi0
показує як 99,8% процесора і 0,0% пам'яті та середнього завантаження - 1,00. Що нам робити, щоб виправити це?
lshw
та dmidecode
мої наступні напрямки, на які слід звернути увагу.
У нас є CentOS 6.4, і показник kipmi0
показує як 99,8% процесора і 0,0% пам'яті та середнього завантаження - 1,00. Що нам робити, щоб виправити це?
lshw
та dmidecode
мої наступні напрямки, на які слід звернути увагу.
Відповіді:
Чи інші системи ідентичні цій системі? Вам доведеться визначити, що вони є. Між ними має бути щось принципово інше. Прошивка? Ті ж версії RPM?
Ви можете використовувати такі інструменти, як lshw
, dmidecode
і дивлячись у dmesg
журнал, щоб отримати підказки щодо того, що відрізняється та в чому полягає першопричина.
Я отримаю хорошу базову лінію встановлених RPM, запустивши цю команду в одній із систем, яка не виставляє цієї проблеми, і тій, яка є, і порівняти списки пакетів, щоб переконатися, що вони всі в одній версії.
# machine #1
$ rpm -aq | sort -rn > machine1_rpms.txt
# machine #2
$ rpm -aq | sort -rn > machine2_rpms.txt
Потім отримайте файли на тій же машині і зробіть sdiff з двох файлів:
sdiff machine1_rpms.txt machine2_rpms.txt
На веб-сайті IBM був цей текстовий текст під назвою: Kipmi0 може показати посилене використання процесора в Linux щодо цієї проблеми. Відповідно до цього питання, ви можете по суті ігнорувати проблему.
опис випуску
Процес kipmi0 може виявити збільшення використання процесора в Linux. Використання може збільшитися до 100%, коли пристрій IPMI (Інтелектуальний інтерфейс управління платформою), такий як BMC (контролер управління базовою дошкою) або IMM (інтегрований контролер управління) зайнятий або не реагує на реакцію.
Виправити
Не потрібно виправляти. Вам слід ігнорувати посилене використання процесора, оскільки це не впливає на фактичну продуктивність системи.
Обхід
Якщо не використовується пристрій IPMI, зупиніть службу IPMI, видавши таку команду:
послуга ipmi зупинка
Я знайшов цю публікацію в блозі someones, просто названий: kipmi0 problem . Ця проблема звучала ідентично вашій. Проблема була пов'язана з проблемою з двома модулями ядра, які завантажувались як частина lm_sensors
пакета.
Це були два модулі ядра:
Обхід
Ви можете видалити їх вручну за допомогою наступних команд:
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 "|"
витягнути всі відмінності в / в 2 .txt файли. Є й інші способи, але це один із способів.
Згідно з документом IPMI :
цей потік може використовувати багато процесора залежно від продуктивності інтерфейсу. Це може витратити багато процесора та спричинити різні проблеми з виявленням непрацюючого процесора та використанням додаткової потужності. Щоб уникнути цього, kipmid_max_busy_us встановлює максимальну кількість часу в мікросекундах, що kipmid буде обертатися перед сном для галочки. Це значення встановлює баланс між продуктивністю та відходами процесора, і його потрібно налаштовувати на ваші потреби. Можливо, колись буде додано автоматичне налаштування, але це не проста справа, і навіть автонастроювання потрібно було б налаштувати на бажану продуктивність користувача.
Отже, ми можемо виконати цю команду для встановлення параметра 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
kipmi0 можна відключити на CentOS 6 повністю, додавши ipmi_si.force_kipmid=0
як параметр ядра
Перевірте на екрані завантаження GRUB, виділивши ядро, яке потрібно завантажити, натисніть "a" для зміни параметрів та додавання ipmi_si.force_kipmid=0
Зробіть постійним, додавши ipmi_si.force_kipmid=0
до відповідних ліній ядра в/boot/grub/grub.conf
ПРИМІТКА. У дистрибутивах, які мають ipmi_si як окремий модуль ядра, більш правильним є використання конфіденційного файлу modprobe.d. У CentOS ipmi_si вбудований у зображення ядра, тому конфігурації modprobe не працюють.
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
Також в минулому я міг на деяких серверах вирішити 100% використання процесора шляхом:
ipmitool lan print
і
ipmitool bmc reset cold
але в моєму останньому досвіді вищезазначені варіанти просто призведуть ipmitool
до невідповіді та сидіння там, що призведе до Ctrl+C .
Сподіваємось, це комусь допомагає.
echo 1 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
?