Назад | Перейти на главную страницу

В чем причина прерываний с высоким уровнем LOC?

Я вижу огромные всплески прерываний LOC - около 4 миллионов в секунду, что именно такое прерывание LOC, что может вызвать эти всплески и что я могу с этим поделать?

Вот график Мунина, иллюстрирующий эти всплески:

                    

Вот график ЦП за тот же период, показывающий, как он полностью берет верх. Мне нравится, как из-за раскраски кажется, что сервер горит в эти периоды ...

                    

Это двухъядерный четырехъядерный сервер Xeon под управлением Ubuntu 8.04. Версия ядра сообщена uname это 2.6.24-24-сервер.

Вот содержимое / proc / interrupts

           CPU0       CPU1       CPU2       CPU3       CPU4       CPU5       CPU6       CPU7
  0:       6930       6762       6633       6841       6760       6863       6692       6809   IO-APIC-edge      timer
  1:          0          0          0          0          0          1          1          0   IO-APIC-edge      i8042
  8:          3          2          4          3          7          5          6          3   IO-APIC-edge      rtc
  9:          0          0          0          0          0          0          0          0   IO-APIC-fasteoi   acpi
 12:          1          0          0          1          0          0          1          1   IO-APIC-edge      i8042
 14:         22         20         22         24         27         24         25         15   IO-APIC-edge      libata
 15:          0          0          0          0          0          0          0          0   IO-APIC-edge      libata
 16:   50766012   50843554   50824664   50759980   50720894   50854422   50808772   50787944   IO-APIC-fasteoi   ioc0
 17:    2551207    2584434    2572429    2564703    2546844    2593218    2574248    2563553   IO-APIC-fasteoi   uhci_hcd:usb1, uhci_hcd:usb3, ehci_hcd:usb5
 18:         24         21         28         26         32         30         32         27   IO-APIC-fasteoi   uhci_hcd:usb2, uhci_hcd:usb4
214:  978184354  978071466  978101515  978177161  978237290  978053391  978115491  978147157   PCI-MSI-edge      eth0
NMI:          0          0          0          0          0          0          0          0   Non-maskable interrupts
LOC:  260770889  233105051  191904989  121472332  107472778  118895615  157741363  115713984   Local timer interrupts
RES:  767265318 1003071645  432052982  199027537  114757970  128486722  221935258  141439861   Rescheduling interrupts
CAL:      32376      26205      32414      26355      32453      26425      32399      26335   function call interrupts
TLB:    5325301    5240763    5025455    4999356    4944090    5044423    5050813    5004620   TLB shootdowns
TRM:          0          0          0          0          0          0          0          0   Thermal event interrupts
SPU:          0          0          0          0          0          0          0          0   Spurious interrupts
ERR:          0
MIS:          0

Ссылки

Исходные изображения

Это процесс управления многопоточностью. Видеть Сходство SMP и правильная обработка прерываний в Linux для ответов, которые вы ищете о том, как его снизить, но в основном это способ, которым система обрабатывает маскировку прерываний, вызванных тем, что ЦП должен получать больше потоков потоков или памяти, и только CPU0 может принимать прерывания.

Чем выше значение, тем лучше происходит многопоточность системы, и это хорошо.