คู่มือเกมแลค › L7 OS ของเซิร์ฟเวอร์ (เคอร์เนล)
CPU steal (VM) CPU steal time
ID สาเหตุ so-steal · ผู้รับผิดชอบหลัก อินฟราเซิร์ฟเวอร์ (ทีมอินฟรา) · ร่วมกับ ภายนอก (ภายนอก)
เปิดการ์ดในฉบับหลักที่มีภาพและการทดลอง →
ระหว่างที่เครื่องจริง (ไฮเปอร์ไวเซอร์) ยก CPU time ของ VM ไปให้ VM ตัวอื่นชั่วครู่ (CPU steal) เซิร์ฟเวอร์เกมจะหยุดชะงัก
ทำไม VM ตัวอื่นบนโฮสต์เดียวกันใช้ CPU มาก → ผลคือ VM ของเราไม่ได้รับ CPU ครั้งละไม่กี่ ms ถึงหลายสิบ ms → บนหน้าจอ เวลาต่อทิกพุ่งโดยหาสาเหตุไม่เจอ: กระตุก, ค้าง
อาการ กระตุก , ค้าง
ปัจจัย การหยุดชะงัก
ใครเจอ ทั้งเซิร์ฟเวอร์
เกิดเมื่อไร สุ่มเป็นครั้งคราว
ผู้รับผิดชอบ ผู้รับผิดชอบหลัก อินฟราเซิร์ฟเวอร์ (ทีมอินฟรา) · ร่วมกับ ภายนอก (ภายนอก)
งานฝั่งทีมอินฟรา มอนิเตอร์ค่า steal (st ของ top และ vmstat), ใช้คอร์หรือโฮสต์เฉพาะ (dedicated), เลี่ยงอินสแตนซ์แบบ burstable ที่ช้าลงเมื่อ CPU credit หมด, อินสแตนซ์ที่ steal สูงต่อเนื่องให้ stop แล้ว start ใหม่เพื่อย้ายไปโฮสต์อื่น
งานฝั่งภายนอก แจ้งผู้ให้บริการคลาวด์ว่าโฮสต์มีค่า steal สูงต่อเนื่อง
บนกราฟ พุ่งแบบสุ่มเป็นครั้งคราว · %steal, เวลาต่อทิกของเซิร์ฟเวอร์
จุดที่ต้องดู %steal จาก mpstat -P ALL 1 วางบนแกนเวลาเดียวกับเวลาต่อทิกของเซิร์ฟเวอร์ สัญญาณว่าใช่ ตอนที่ทิกพุ่ง %steal พุ่งด้วย และลดลงหลัง stop แล้ว start ใหม่เพื่อย้ายไปโฮสต์อื่น สัญญาณว่าไม่ใช่ %steal ใกล้ 0 แต่ทิกยังพุ่ง: น่าจะเป็นสาเหตุภายในเซิร์ฟเวอร์เกม (“GC ของเซิร์ฟเวอร์หยุดทั้งระบบ”, “การแย่งล็อก”) ถ้าเป็นคอนเทนเนอร์ ให้ดู “CPU throttling ของคอนเทนเนอร์ (CFS quota)” วิธีตรวจ ใช้เครื่องมือฝั่งอินฟรา (ไม่ต้องใช้โค้ดเกม)
แหล่งอ้างอิง proc_stat(5) — Linux manual page Linux man-pages steal: เวลาที่ถูกแย่งไปเพราะระบบปฏิบัติการอื่นกำลังรันอยู่ในสภาพแวดล้อมเสมือน Standard mode for burstable performance instances AWS อินสแตนซ์แบบ burstable ใช้เครดิตเพื่อทำงานเกินประสิทธิภาพพื้นฐาน และเมื่อเครดิตหมด อัตราการใช้ CPU จะลดลงเหลือระดับพื้นฐาน How EC2 instance stop and start works AWS ถ้า stop แล้ว start อินสแตนซ์ใหม่ ส่วนใหญ่จะถูกย้ายไปโฮสต์ใหม่ mpstat(1) — Linux manual page sysstat %steal: สัดส่วนเวลาที่ virtual CPU นี้จำต้องรอ ขณะที่ไฮเปอร์ไวเซอร์รัน virtual CPU ตัวอื่น
สาเหตุที่ควรดูประกอบ
ชั้นเดียวกัน: L7 OS ของเซิร์ฟเวอร์ (เคอร์เนล)
สาเหตุจากชั้นอื่นที่ทำให้เกิดอาการเดียวกัน (กระตุก)
ดูการ์ดในฉบับหลักที่มีภาพและการทดลอง