한국어English日本語简体中文繁體中文DeutschไทยTiếng ViệtРусскийPortuguês (Brasil)EspañolBahasa Indonesia

คู่มือเกมแลค › L10 หน่วยความจำ

หน่วยความจำ NUMA ฝั่งไกล (remote) Remote NUMA access

ID สาเหตุ mem-numa · ผู้รับผิดชอบหลัก อินฟราเซิร์ฟเวอร์ (ทีมอินฟรา)

เปิดการ์ดในฉบับหลักที่มีภาพและการทดลอง →

บนเซิร์ฟเวอร์ที่มี CPU สองตัว ถ้าใช้หน่วยความจำที่ต่ออยู่กับ CPU อีกฝั่ง การเข้าถึงจะช้าลง

ทำไม เธรดกับหน่วยความจำถูกวางไว้คนละซ็อกเก็ต CPU → ผลคือ การเข้าถึงหน่วยความจำช้าลง (1.5–2 เท่า แล้วแต่เครื่อง) → บนหน้าจอ สเปกเดียวกันแต่ประสิทธิภาพต่างกันในแต่ละโปรเซส

อาการ
สโลว์โมชั่น
ปัจจัย
การหยุดชะงัก
ใครเจอ
ทั้งเซิร์ฟเวอร์
เกิดเมื่อไร
ตลอดเวลา
ผู้รับผิดชอบ
ผู้รับผิดชอบหลัก อินฟราเซิร์ฟเวอร์ (ทีมอินฟรา)
งานฝั่งทีมอินฟรา
ผูกโปรเซสและหน่วยความจำไว้กับซ็อกเก็ตเดียว (numactl), ถ้ามีสองซ็อกเก็ตให้แยกโปรเซสเซิร์ฟเวอร์เกมไปวางซ็อกเก็ตละชุด
บนกราฟ
สูงเฉพาะบางกลุ่ม · เวลาต่อทิกแยกตามโปรเซส, หน่วยความจำแยกตามโหนด
จุดที่ต้องดู
ใช้ numastat -p PID ดูว่าหน่วยความจำของโปรเซสเซิร์ฟเวอร์เกมอยู่บน NUMA โหนดไหน และ numa_miss กับ other_node ของ numastat เพิ่มขึ้นหรือไม่ แล้วเทียบกับโหนดของ CPU ที่โปรเซสนั้นรันอยู่
สัญญาณว่าใช่
เฉพาะโปรเซสที่ช้า หน่วยความจำส่วนใหญ่อยู่คนละโหนดกับ CPU ที่ตัวเองรัน และเมื่อใช้ numactl ผูก CPU กับหน่วยความจำไว้โหนดเดียวแล้วรันใหม่ ความต่างก็หายไป
สัญญาณว่าไม่ใช่
การวางโหนดเหมือนกับโปรเซสที่เร็วแต่ยังช้า: น่าจะเป็นสาเหตุอื่น เช่น noisy neighbor, CPU throttling หรือโหลดของโปรเซสนั้น
วิธีตรวจ
ใช้เครื่องมือฝั่งอินฟรา (ไม่ต้องใช้โค้ดเกม)

แหล่งอ้างอิง

  1. What is NUMA? Linux kernel
    หน่วยความจำใน cell เดียวกันเร็วกว่าและมีแบนด์วิดท์สูงกว่า ส่วนหน่วยความจำใน cell อื่น (remote) เข้าถึงช้ากว่า
  2. numactl(8) — Linux manual page numactl
    ใช้ --cpunodebind และ --membind ผูก CPU และหน่วยความจำของโปรเซสไว้กับ NUMA โหนดที่กำหนด
  3. numastat(8) — Linux manual page numactl
    ตัวนับ numa_miss (จัดสรรบนโหนดที่ไม่ใช่โหนดที่ต้องการ) และ other_node (โปรเซสที่รันบนโหนดอื่นมาจัดสรรบนโหนดนี้), -p แสดงหน่วยความจำแยกตามโหนดของโปรเซส

สาเหตุที่ควรดูประกอบ

ชั้นเดียวกัน: L10 หน่วยความจำ

สาเหตุจากชั้นอื่นที่ทำให้เกิดอาการเดียวกัน (สโลว์โมชั่น)

ดูการ์ดในฉบับหลักที่มีภาพและการทดลอง