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 и проверить систему чуть позже.

Другие вопросы по тегам