สาเหตุของการขัดจังหวะ LOC สูงคืออะไร


17

ฉันเห็นหนามขนาดใหญ่ในการขัดจังหวะ LOC - ประมาณ 4 ล้านต่อวินาทีอะไรคือสิ่งที่ LOC ขัดจังหวะสิ่งที่จะทำให้เกิดแหลมเหล่านี้และฉันจะทำอย่างไรกับมัน?

นี่คือกราฟ Munin ที่แสดงถึงหนามเหล่านี้:

                    กราฟขัดจังหวะ

นี่คือกราฟ CPU สำหรับช่วงเวลาเดียวกันที่แสดงให้เห็นว่าจะใช้เวลาอย่างสมบูรณ์อย่างไร ฉันชอบที่การระบายสีทำให้ดูเหมือนว่าเซิร์ฟเวอร์กำลังติดไฟในช่วงเวลาเหล่านี้ ...

                    กราฟซีพียู

นี่เป็นเซิร์ฟเวอร์ Xeon แบบดูอัลคอร์ที่ใช้ Ubuntu 8.04 เวอร์ชันเคอร์เนลที่รายงานโดยunameคือ 2.6.24-24-server

นี่คือเนื้อหาของ / proc / ขัดจังหวะ

           CPU0 CPU1 CPU2 CPU3 CPU4 CPU5 CPU6 CPU7
  0: 6930 6762 6633 6841 6760 6863 6692 6809 ตัวจับเวลา IO-APIC-edge
  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 libata IO-APIC-edge
 15: 0 0 0 0 0 0 0 0 libata IO-APIC-edge
 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 อินเตอร์รัปต์ที่ไม่สามารถพรางได้
ที่ตั้ง: 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 shootdowns
TRM: 0 0 0 0 0 0 0 0 เหตุการณ์ความร้อนขัดจังหวะ
SPU: 0 0 0 0 0 0 0 0 การขัดจังหวะปลอม
ข้อผิดพลาด: 0
MIS: 0

อ้างอิง

ภาพต้นฉบับ

คำตอบ:


12

เป็นกระบวนการในการจัดการเธรดมัลติซีพียู ดูSMP Affinity และการจัดการการขัดจังหวะที่เหมาะสมใน Linuxสำหรับคำตอบที่คุณค้นหาเกี่ยวกับวิธีการลดระดับลง แต่โดยพื้นฐานแล้วเป็นวิธีที่ระบบจัดการกับการขัดจังหวะการขัดจังหวะที่เกิดจาก CPU ต้องการป้อนกระแสข้อมูลหรือหน่วยความจำเพิ่มเติม CPU0 สามารถขัดจังหวะได้

ยิ่งมีค่ามากเท่าไรการเกิดเกลียวของระบบก็จะยิ่งดีขึ้นและนี่ก็เป็นสิ่งที่ดี


1
+1 และขอบคุณสำหรับลิงค์ ฉันควรกังวลว่ากราฟกิจกรรม CPU ของฉันน่าจะแสดงกิจกรรม "ผู้ใช้" ที่ค่อนข้างเป็นศูนย์ในช่วง spikes เหล่านั้นหรือไม่
Paul Dixon

การขัดจังหวะเกิดขึ้นตลอดเวลาในระบบแม้จะมีกิจกรรมของผู้ใช้ 0 คน เพียงแค่กระบวนการจัดการกับหน่วยความจำนั้นใช้ NMI จำนวนมาก (ไม่ใช่การขัดจังหวะแบบปิดบัง) ดังนั้นทั้งหมดจึงเป็นเรื่องดี
สตีเฟ่น ธ อมป์สัน
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.