1
กระบวนการ Linux เสียชีวิตแม้ว่าหน่วยความจำจะมีเพียงพอ
ฉันกำลังตรวจสอบว่าเหตุใดกระบวนการของเราสองรายการจึงถูกฆ่าโดยนักฆ่า Linux OOM - แม้ว่าดูเหมือนว่าจะมี RAM เพียงพอและมี SWAP มากมายให้เลือกทั้งสองครั้ง เมื่อฉันตีความมันตามคำตอบนี้คำขอหน่วยความจำแรกที่ขอ 2 ^ 2 = 4 หน้า (16KB) ของหน่วยความจำ (ค่าสถานะการสั่งซื้อ) และต้องการให้มันมาจากโซน "ปกติ" Jan 27 04:26:14 kernel: [639964.652706] java invoked oom-killer: gfp_mask=0x26000c0, order=2, oom_score_adj=0 และถ้าฉันแยกวิเคราะห์ออกอย่างถูกต้องมีพื้นที่มากกว่าพอ: Node 0 Normal free:178144kB min:55068kB low:68832kB high:82600kB ครั้งที่สองมีคำขอเดียวกันในไม่กี่นาทีต่อมา - และดูเหมือนว่าจะมีพื้นที่เพียงพอ แล้วทำไมนักฆ่า OOM ถึงถูกทริกเกอร์? ฉันแยกวิเคราะห์ข้อมูลผิดหรือเปล่า? ระบบนี้เป็น Ubuntu 14.04 …