ksoftirqd и события обрабатывают высокую загрузку процессора
Centos 6,9 (64 ГБ ОЗУ)
Запуск nginx, mariadb, php-fpm, iptables, java
Сервер имеет случайные, но частые всплески нагрузки на 100% системного процессора только на 1 ядро, что приводит к повреждению сетевых подключений к серверу.
Я обнаружил, что даже если nginx, mariadb, php-fpm, iptables и java не работают, проблема сохраняется.
Я попытался установить irqbalance, но ничего не изменилось. Я попытался перезагрузить несколько раз, но ничего не изменилось. Я пытался обновить ням, но ничего не изменилось. Я попытался перенести ssd на другой сервер с тем же оборудованием, но ничего не изменилось. Я попробовал SMART, проверяя ssd на наличие проблем без ошибок. Я проверил, была ли проблема связана с перестановкой, но ничего не менялось.
"/ Proc/interrupts" показывает, что прерыванием, связанным с ksoftirqd, является eth0. Я не знаю, какие шаги предпринять для устранения неполадок, что является причиной проблемы. Мне нужна помощь, так как мои службы, размещенные на этом сервере, очень сильно страдают из-за простоя, генерируемого во время пакетов (которые могут длиться 10-15 минут, останавливаться, а затем появляться снова случайно).
top или htop не показывают ничего, что мешало бы запускать или брать столько процессоров, только ksoftirqd и события.
Проблема началась всего несколько дней назад, в ядро / ОС не было внесено никаких изменений, которые могли бы вызвать эту проблему.
"иостат" при 100% нагрузке
Linux 2.6.32-696.30.1.el6.x86_64 (CentOS-69-64-minimal) _x86_64_ (16 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
8.01 0.00 3.03 0.20 0.00 88.76
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sdb 83.52 18.46 1341.05 2874477 208769462
sda 94.26 435.50 1341.05 67797010 208769462
md1 0.00 0.01 0.00 2106 12
md0 0.26 0.25 1.82 38640 283096
md2 176.32 453.67 1322.56 70625762 205890864
"/proc/interrupts" во время 100% загрузки
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7 CPU8 CPU9 CPU10 CPU11 CPU12 CPU13 CPU14 CPU15
0: 681 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IO-APIC-edge timer
1: 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IO-APIC-edge i8042
8: 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IO-APIC-edge rtc0
9: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IO-APIC-fasteoi acpi
12: 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IO-APIC-edge i8042
56: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge aerdrv
57: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge aerdrv
58: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge aerdrv
65: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge xhci_hcd
66: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge xhci_hcd
67: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge xhci_hcd
68: 16149263 0 0 0 0 0 0 0 0 0 0 19021454 0 0 0 0 PCI-MSI-edge ahci
69: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PCI-MSI-edge ahci
70: 158827141 0 0 0 82558205 0 0 0 0 0 2755343 0 0 0 0 0 PCI-MSI-edge eth0
NMI: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Non-maskable interrupts
LOC: 123773684 105894389 123476055 142376826 111487788 122494116 118841739 134480148 113422196 121203288 114414525 114218214 114794017 119322938 115083581 119549111 Local timer interrupts
SPU: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Spurious interrupts
PMI: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Performance monitoring interrupts
IWI: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 IRQ work interrupts
RES: 54086898 67527262 46597734 44323475 25356657 32869325 18540932 20137227 13606660 13955101 14826738 12242106 10962617 11082631 10466998 10574150 Rescheduling interrupts
CAL: 1258 1407 1440 1446 1474 1442 1448 1436 1436 1435 1435 1431 1438 1449 1449 1430 Function call interrupts
TLB: 8082115 6419817 4992332 3914962 5927373 4081295 4056598 2953591 4134873 3207107 3852793 5106863 3780341 3298234 3875200 3270066 TLB shootdowns
TRM: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Thermal event interrupts
THR: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Threshold APIC interrupts
MCE: 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 Machine check exceptions
MCP: 520 520 520 520 520 520 520 520 520 520 520 520 520 520 520 520 Machine check polls
ERR: 0
MIS: 0
Что-то странное, что я видел на dmesg, который не печатает ничего проблемного, но эта строка повторялась 50 раз с момента загрузки (заменил мой ip на X из соображений конфиденциальности):
TCP: Peer X.XX.XXX.XXX:56847/44567 unexpectedly shrunk window 2670303830:2670305282 (repaired)
HTOP
https://i.imgur.com/2vlcsN8.png
Любая помощь приветствуется, я действительно отчаянно пытаюсь решить эту проблему прямо сейчас.
1 ответ
Это ksoftirqd не ошибка сервера, проблема почты с версией кернала. Пожалуйста, проверьте версию кернала Linux localhost 2.6.32-Linux localhost 2.6.32-573.6.3.el6.x86_64_64, используя те, которые не проблема, если вы обновляете кернал, который идет к 754 версии, в то время некоторые модули Perl и Asterisk дают сбой, поэтому использование ЦП выше всех серверов Centos 6.10, вы можете использовать 600 версий ниже Kernel, что лучше всего поблагодарить вас.