Linux прерывает выпуск
Есть ли простой способ определить, являются ли прерывания проблемой производительности? У меня есть следующее из cat / proc / interrupts, но на самом деле нет истории этого сервера, поэтому я не знаю, может ли это быть причиной каких-либо проблем. Я нашел определение каждого столбца по адресу http://www.centos.org/docs/5/html/5.1/Deployment_Guide/s2-proc-interrupts.html но, похоже, не нашел каких-либо указаний относительно того, будут ли результаты приемлемы
CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
0: 1408788887 0 0 0 0 0 0 0 IO-APIC-edge timer
1: 3 0 0 0 0 0 0 0 IO-APIC-edge i8042
8: 1 0 0 0 0 0 0 0 IO-APIC-edge rtc
9: 0 0 0 0 0 0 0 0 IO-APIC-level acpi
12: 4 0 0 0 0 0 0 0 IO-APIC-edge i8042
14: 476 92736034 560949599 89233642 0 0 0 0 IO-APIC-edge ide0
66: 81 0 0 0 0 0 0 0 IO-APIC-level ehci_hcd:usb1, uhci_hcd:usb2, uhci_hcd:usb4
74: 153 62468419 147960075 25257462 0 0 0 0 IO-APIC-level uhci_hcd:usb3, uhci_hcd:usb5
82: 1054378386 0 0 0 0 0 0 0 PCI-MSI eth0
169: 8343 1516025027 954152248 6501060 0 757271678 1872714173 2565826 IO-APIC-level megasas
NMI: 28336831 18526902 35866900 13915052 25165724 26928152 21827791 19303613
LOC: 1408788527 1408756844 1408788059 1408788084 1408788124 1408787843 1408787972 1408787711
ERR: 0
MIS: 0
3 ответа
Наибольшее количество прерываний у вас все еще в среднем:
1872714173 interrupts / 83014987.85 seconds = 23 intr/s
что совсем не страшно. Как таковые, эти статистические данные вполне приемлемы. Пик 7500 инт / с также допустим в загруженной системе.
Что бы ни привело вас к выводу, что прерывания являются важной метрикой, я бы сделал шаг назад и пересмотрел бы. Они чаще являются следствием проблемы (совершенно другой проблемы), чем единственной причиной проблемы. Единственная ситуация, которая приходит на ум - это какое-то мошенническое устройство в автобусе.
Если у вас есть sar
Отчеты, найдите другой показатель, который достигает пика во время низкой производительности (запустите очередь? paging? дисковый ввод / вывод?) и перезапустите анализ оттуда.
Проблема с прерываниями является одной из причин высокой загрузки ЦП системы, если вы не видите высоких значений%irq в выводе mpstat, все должно быть в порядке.
Если вы обеспокоены тем, что прерывания распределяются между процессорами неравномерно, вам необходимо включить демон irqbalance или настроить его вручную с помощью /proc/irq/*/smp_affinity
Подробнее: http://honglus.blogspot.com/2010/01/troubleshooting-high-system-cpu-usage.html http://honglus.blogspot.com/2011/03/tune-interrupt-and-process-cpu-affinity.html
Вы должны включить irqbalance
демон, помогающий распределять прерывания таймера по доступным процессорам на сервере. Бежать /sbin/service irqbalance start
и проверить систему чуть позже.