У чому причина високих переривань LOC?


17

Я бачу величезні сплески переривань LOC - близько 4 мільйонів в секунду, що саме є переривом LOC, що може спричинити ці сплески і що я можу з цим зробити?

Ось графік Муніна, що ілюструє ці шипи:

                    Графік переривання

Ось графік процесора за той самий період, який показує, як він повністю переймає. Мені подобається, як розфарбування здається, що сервер горять у ці періоди ...

                    Графік процесора

Це двоядерний чотирьохядерний сервер Xeon під управлінням Ubuntu 8.04. Версія ядра, про яку повідомляє uname2.6.24-24-сервер.

Ось вміст / proc / перериває

           CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
  0: 6930 6762 6633 6841 6760 6863 6692 6809 IO-APIC-крайний таймер
  1: 0 0 0 0 0 1 1 0 IO-APIC-край i8042
  8: 3 2 4 3 7 5 6 3 IO-APIC-край 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-край i8042
 14: 22 20 22 24 27 24 25 15 IO-APIC-крайова лібата
 15: 0 0 0 0 0 0 0 0 IO-APIC-крайова лібата
 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 Немаскуючі переривання
LOC: 260770889 233105051 191904989 121472332 107472778 118895615 157741363 115713984 Переривання локального таймера
RES: 767265318 1003071645 432052982 199027537 114757970 128486722 221935258 141439861 Переривання планування
CAL: 32376 26205 32414 26355 32453 26425 32399 26335 переривання виклику функції
TLB: 5325301 5240763 5025455 4999356 4944090 5044423 5050813 5004620 TLB
TRM: 0 0 0 0 0 0 0 0 Термічна подія переривається
SPU: 0 0 0 0 0 0 0 0 Неправдиві переривання
Помилка: 0
МІС: 0

Список літератури

Оригінальні зображення

Відповіді:


12

Це процес управління потоком багатопроцесорних процесорів. Дивіться відповідність SMP та належне поводження з перериваннями в Linux для відповідей, які ви шукаєте, як знизити його, але, в основному, це те, як система обробляє маскування переривань, викликані необхідністю процесора подавати більше потоків потоку або пам'яті і тільки CPU0 може приймати перерви.

Чим вище значення, тим краще відбувається різьблення системи, і це добре.


1
+1 і спасибі за посилання. Чи варто хвилюватися, що мій графік активності процесора, здається, показує майже нульову активність користувача під час цих шипів?
Пол Діксон

Переривання відбуваються постійно в системі, навіть при 0 активності користувача. Просто процес роботи з пам'яттю займає багато НМІ (не маскуються переривання), тому все добре.
Стівен Томпсон
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.