Взгляд изнутри
Модератор: Модераторы разделов
vr13
Сообщения: 876
ОС: gentoo
Сообщение
vr13 » 07.10.2009 14:25
подскажите, куда посмотреть, чтобы узнать, кем генерируется столько прерываний?
Код: Выделить всё
odysseus ~ # vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd free buff cache si so bi bo in cs us sy id wa
0 0 0 3750144 73424 274480 0 0 23 71 3130 327 14 8 78 0
0 0 0 3750136 73424 274480 0 0 0 0 251346 6 0 0 100 0
0 0 0 3750136 73424 274480 0 0 0 0 255074 5 0 0 100 0
в логах и консоли (dmesg) никакой информации нет
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu
Сообщение
serzh-z » 07.10.2009 15:05
vr13 писал(а): ↑ 07.10.2009 14:25
куда посмотреть, чтобы узнать, кем генерируется столько прерываний?
Не уверен, что в ядре ведётся статистика прерываний с разрезом по их источникам. Только количество. Не понимаю, что смущает в выводе vmstat. Прерывания генерируются ведь не только при "движении мышью" или "нажатии кнопки", но и, например, сетевой картой при пересылке или получении пакета.
rm_
Сообщения: 3340
Статус: It's the GNU Age
ОС: Debian
Сообщение
rm_ » 07.10.2009 15:08
Не уверен, что в ядре ведётся статистика прерываний с разрезом по их источникам.
Ведётся же.
Код: Выделить всё
$ cat /proc/interrupts
CPU0 CPU1
0: 42 54 IO-APIC-edge timer
1: 0 2 IO-APIC-edge i8042
4: 0 20 IO-APIC-edge serial
6: 0 5 IO-APIC-edge floppy
7: 1 0 IO-APIC-edge
8: 0 1 IO-APIC-edge rtc0
9: 0 0 IO-APIC-fasteoi acpi
12: 0 4 IO-APIC-edge i8042
14: 0 0 IO-APIC-edge ide0
15: 0 0 IO-APIC-edge ide1
16: 0 0 IO-APIC-fasteoi pata_jmicron
18: 214185 3536134 IO-APIC-fasteoi eth1
19: 76212 82178 IO-APIC-fasteoi ahci
20: 64847 9576427 IO-APIC-fasteoi eth0
21: 0 2 IO-APIC-fasteoi ehci_hcd:usb1
22: 22 1414 IO-APIC-fasteoi sata_nv
23: 48303 230052 IO-APIC-fasteoi sata_nv, ohci_hcd:usb2
28: 5326 981645 PCI-MSI-edge home1
NMI: 0 0 Non-maskable interrupts
LOC: 3932577 3455340 Local timer interrupts
SPU: 0 0 Spurious interrupts
CNT: 0 0 Performance counter interrupts
PND: 0 0 Performance pending work
RES: 418811 267315 Rescheduling interrupts
CAL: 313 149 Function call interrupts
TLB: 12438 18785 TLB shootdowns
TRM: 0 0 Thermal event interrupts
THR: 0 0 Threshold APIC interrupts
MCE: 0 0 Machine check exceptions
MCP: 32 32 Machine check polls
ERR: 1
MIS: 0
vr13
Сообщения: 876
ОС: gentoo
Сообщение
vr13 » 07.10.2009 15:22
спасибо большое, теперь понятно куда идти дальше:
Код: Выделить всё
odysseus ~ # cat /proc/interrupts
CPU0 CPU1 CPU2 CPU3
384: 1547 383396 10312800 12389641 Dynamic-percpu timer
385: 802 936 900 898 Dynamic-percpu resched
386: 50 79 83 64 Dynamic-percpu callfunc
387: 207 239 238 220 Dynamic-percpu call1func
388: 6 18 20 14 Dynamic-percpu spinlock
389: 392 0 0 0 Dynamic-level xenbus
390: 0 0 0 0 Dynamic-level suspend
391: 255 0 0 0 Dynamic-level xencons
392: 1114 0 0 0 Dynamic-level blkif
393: 42 0 0 0 Dynamic-level blkif
394: 343 0 0 0 Dynamic-level eth0
NMI: 0 0 0 0 Non-maskable interrupts
RES: 802 937 901 899 Rescheduling interrupts
CAL: 257 318 321 284 Function call interrupts
на самом деле, это xenU-домен с pv-ops, вернее попытка использования этого дела. время от времени это впадает в такое состояние. буду разбираться с таймером