Kipmi0 съедает до 99,8% процессорного времени на сентос 6,4
15
У нас есть CentOS 6.4, и kipmi0он показывает 99,8% процессора и 0,0% памяти, а средняя загрузка составляет 1,00. Что мы должны сделать, чтобы исправить это?
@ Я читал это раньше, так что он просто говорит «игнорировать», должен ли я просто игнорировать, но на других моих машинах такой проблемы нет?
biz14
Другие системы идентичны этой системе? Вы должны будете определить, что они есть. Между ними должно быть что-то принципиально другое. Прошивка? Те же версии RPM?
SLM
@ Да, есть две одинаковые машины с одинаковыми ценами 6.4. Что мне теперь искать?
biz14
Сравните результаты с lshwи dmidecodeбуду моей следующей областью для изучения.
СЛМ
Ответы:
5
Отладка проблемы
Другие системы идентичны этой системе? Вы должны будете определить, что они есть. Между ними должно быть что-то принципиально другое. Прошивка? Те же версии RPM?
Вы можете использовать такие инструменты, как lshw, dmidecodeи , глядя наdmesg журнал для подсказки относительно того , что по - другому и что первопричиной.
Я получил бы хороший базовый уровень установленных RPM, выполнив эту команду на одной из систем, в которой эта проблема не обнаружена, и на той, которая есть, и сравнил бы списки пакетов, чтобы убедиться, что все они имеют одинаковые версии.
Затем получите файлы на той же машине и выполните sdiff из 2 файлов:
sdiff machine1_rpms.txt machine2_rpms.txt
Потенциальная причина № 1
Веб-сайт IBM имел эту технику под названием: Kipmi0 May Show Увеличение загрузки ЦП в Linux , касающееся этой проблемы. Согласно этой проблеме вы можете по существу игнорировать проблему.
описание проблемы
Процесс kipmi0 может показать увеличение загрузки процессора в Linux. Использование может увеличиться до 100%, когда устройство IPMI (интеллектуальный интерфейс управления платформой), такое как BMC (контроллер управления основной платой) или IMM (встроенный контроллер управления), занято или не отвечает.
Fix
Исправление не требуется. Вы должны игнорировать повышенную загрузку ЦП, поскольку это не влияет на реальную производительность системы.
Работа вокруг
При использовании устройства IPMI перезагрузите BMC или перезагрузите систему.
Если устройство IPMI не используется, остановите службу IPMI, введя следующую команду:
сервис ipmi stop
Потенциальное решение № 2
Я нашел этот пост в чьем- то блоге просто под названием: проблема kipmi0 . Эта проблема звучала идентично вашей. Эта проблема была связана с двумя модулями ядра, которые загружались как часть lm_sensorsпакета.
Это были 2 модуля ядра:
ipmi_si
ipmi_msghandler
Работа вокруг
Вы можете вручную удалить их с помощью следующих команд:
rmmod ipmi_msghandler
rmmod ipmi_si
Чтобы сделать это исправление постоянным, вам нужно будет отключить загрузку этих конкретных модулей ядра в одном из lm_sensorsфайлов конфигурации, закомментировав их следующим образом:
Я был на сайте, и в моей системе я не могу найти этот файл / etc / sysconfig / lm_sensors. Что-то смешное, когда я делаю сортировку по первому файлу - Asc, а второй файл - desc? Во-вторых, как вывести разницу в файл. Да, я тоже вижу много различий.
biz14
да теперь я второй раз сортируюсь соответственно по убыванию. Я не понимаю, как использовать grep "|". Что еще я должен сделать, чтобы исправить эту проблему?
biz14
Все, что я говорил, было сделать это: sdiff machine1_rpms.txt machine2_rpms.txt | grep "|"вытащить все различия ч / б 2 .txt файлов. Есть и другие способы сделать это, но это один из способов.
СЛМ
Я выполнил эту команду, и вот вывод 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, но sdiff - всего одна? Итак, каким должен быть мой следующий шаг, основанный на этой разнице?
biz14
Пожалуйста, разместите эти файлы также на pastebin.com .
этот поток может использовать много ЦП в зависимости от производительности интерфейса. Это может тратить много ресурсов ЦП и вызывать различные проблемы с обнаружением простоя ЦП и использованием дополнительной мощности. Чтобы избежать этого, kipmid_max_busy_us устанавливает максимальное количество времени (в микросекундах), в течение которого кипмид будет вращаться перед сном для тика. Это значение устанавливает баланс между производительностью и загрузкой процессора и должно быть настроено в соответствии с вашими потребностями. Возможно, когда-нибудь будет добавлена автонастройка, но это не простая вещь, и даже автонастройка должна быть настроена на желаемую производительность пользователя.
Итак, мы можем выполнить эту команду, чтобы установить параметр 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
Хотя это может быть правильным ответом, на сайтах SE считается наилучшей практикой подробно описывать аргументацию как часть вашего ответа, а также цитировать любые внешние ссылки. Таким образом, если внешняя ссылка перестает функционировать, логика и аргументация все еще доступны для просмотра.
Драв Слоан
Есть ли стандартный способ сделать так, чтобы это вступило в силу навсегда?
Царольд
В CentOS / RHEL эту команду можно сделать постоянной, добавив ее в /etc/rc.d/rc.local. Rc.local запускается после всех других сценариев инициализации.
Царольд
1
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 conf. В CentOS ipmi_si встроен в образ ядра, поэтому конфиги modprobe не работают.
Есть ли проблема сделать echo 1 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us ?
Цянь Чен
0
Я обнаружил, что работает CentOS 7 и пытаюсь выяснить, что с этим связано.
Для меня это был ipmicfg от Supermicro, запущенный из написанного мной сценария или чего-то подобного. Я просто убил его, и использование kipmi0 прекратилось.
lshw
иdmidecode
буду моей следующей областью для изучения.Ответы:
Отладка проблемы
Другие системы идентичны этой системе? Вы должны будете определить, что они есть. Между ними должно быть что-то принципиально другое. Прошивка? Те же версии RPM?
Вы можете использовать такие инструменты, как
lshw
,dmidecode
и , глядя наdmesg
журнал для подсказки относительно того , что по - другому и что первопричиной.Я получил бы хороший базовый уровень установленных RPM, выполнив эту команду на одной из систем, в которой эта проблема не обнаружена, и на той, которая есть, и сравнил бы списки пакетов, чтобы убедиться, что все они имеют одинаковые версии.
Затем получите файлы на той же машине и выполните sdiff из 2 файлов:
Потенциальная причина № 1
Веб-сайт IBM имел эту технику под названием: Kipmi0 May Show Увеличение загрузки ЦП в Linux , касающееся этой проблемы. Согласно этой проблеме вы можете по существу игнорировать проблему.
описание проблемы
Fix
Работа вокруг
Если устройство IPMI не используется, остановите службу IPMI, введя следующую команду:
сервис ipmi stop
Потенциальное решение № 2
Я нашел этот пост в чьем- то блоге просто под названием: проблема kipmi0 . Эта проблема звучала идентично вашей. Эта проблема была связана с двумя модулями ядра, которые загружались как часть
lm_sensors
пакета.Это были 2 модуля ядра:
Работа вокруг
Вы можете вручную удалить их с помощью следующих команд:
Чтобы сделать это исправление постоянным, вам нужно будет отключить загрузку этих конкретных модулей ядра в одном из
lm_sensors
файлов конфигурации, закомментировав их следующим образом:Перезапустите
lm_sensors
после внесения этих изменений:источник
sdiff machine1_rpms.txt machine2_rpms.txt | grep "|"
вытащить все различия ч / б 2 .txt файлов. Есть и другие способы сделать это, но это один из способов.Согласно Документу IPMI :
Итак, мы можем выполнить эту команду, чтобы установить параметр 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 conf. В CentOS ipmi_si встроен в образ ядра, поэтому конфиги modprobe не работают.
источник
CentOS 6 имеет драйвер ipmi, скомпилированный в ядре. Если вам не нужна поддержка ipmi, просто отключите grub.conf
источник
Я нашел следующее помогает с этой проблемой:
Кажется, что это пробуждает IPMI, а затем перестает использовать 100% ядра.
Я также нашел следующее полезное:
Также в прошлом я мог на некоторых серверах разрешать 100% загрузку ЦП:
и
но в моем самом недавнем опыте вышеупомянутые варианты просто заставили
ipmitool
бы не отвечать и сидеть там, заставляя меня Ctrl+C это.Надеюсь, это кому-нибудь поможет.
источник
echo 1 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
?Я обнаружил, что работает CentOS 7 и пытаюсь выяснить, что с этим связано.
Для меня это был ipmicfg от Supermicro, запущенный из написанного мной сценария или чего-то подобного. Я просто убил его, и использование kipmi0 прекратилось.
источник