web-dev-qa-db-ja.com

高いLOC割り込みの原因は何ですか?

LOC割り込みに大きなスパイクが見られます-1秒あたり約400万、LOC割り込みとは正確には何ですか、これらのスパイクの原因は何ですか?それに対して何ができますか?

これらのスパイクを示すMuninグラフは次のとおりです。

Interrupt graph

完全に引き継ぐ方法を示す、同じ期間のCPUグラフを次に示します。私は、色がどのようにこれらの期間中にサーバーが燃えているように見えるのが好きですか...

CPU graph

これは、Ubuntu 8.04を実行するデュアルクアッドコアXeonサーバーです。 unameによって報告されたカーネルバージョンは2.6.24-24-serverです。

/ 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:5076 6012 50843554 50824664 50759980 50720894 50854422 50808772 50787944 IO-APIC-fasteoi ioc0 [.____。 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 
 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スプリアス割り込み
 ERR:0 
 MIS:0 

参考文献

元の画像

17
Paul Dixon

これは、マルチCPUスレッドを管理するプロセスです。下げる方法についての回答については SMPアフィニティおよびLinuxでの適切な割り込み処理 を参照してください。ただし、基本的には、システムが割り込みをマスキングする方法であり、CPUの供給が原因で発生しています。より多くのスレッドストリームまたはメモリ、およびCPU0のみが割り込みを受け取ることができます。

値が高いほど、システムのスレッド化がうまく行われ、これは良いことです。

13