Linux จะเริ่มฆ่ากระบวนการของฉันโดยไม่ถามฉันหรือไม่ว่าหน่วยความจำสั้น
ฉันใช้เชลล์สคริปต์พร้อมคำสั่งเพื่อรันโปรแกรมที่ใช้หน่วยความจำมาก (2-5 GB) กลับไปด้านหลัง เมื่อฉันกลับไปตรวจสอบความคืบหน้าของสคริปต์ของฉันฉันรู้สึกประหลาดใจที่พบว่ากระบวนการบางอย่างของฉันเป็นKilledไปตามที่สถานีของฉันรายงานให้ฉัน มีหลายโปรแกรมที่ทำเสร็จแล้วอย่างต่อเนื่องก่อนที่โปรแกรมที่จะKilledเริ่มในภายหลังแต่โปรแกรมทั้งหมดหลังจากนั้นล้มเหลวในการแบ่งส่วนความผิดพลาด (ซึ่งอาจหรืออาจไม่ได้เกิดจากข้อผิดพลาดในรหัสของฉันอ่านต่อไป) ฉันดูประวัติการใช้งานของคลัสเตอร์เฉพาะที่ฉันใช้และเห็นว่ามีคนเริ่มใช้กระบวนการที่ใช้หน่วยความจำจำนวนมากในเวลาเดียวกันและในการทำเช่นนั้นทำให้หน่วยความจำจริงหมดลง (และอาจเป็นพื้นที่ swap) ในคลัสเตอร์ ดีที่สุดเท่าที่ฉันจะเข้าใจได้กระบวนการที่ใช้หน่วยความจำมากเหล่านี้เริ่มทำงานในเวลาเดียวกับที่ฉันเริ่มมีปัญหากับโปรแกรมของฉัน เป็นไปได้ไหมที่ลีนุกซ์ฆ่าโปรแกรมของฉันเมื่อหน่วยความจำไม่เพียงพอ? และเป็นไปได้ไหมที่การแบ่งส่วนที่ผิดพลาดที่ฉันได้รับในภายหลังนั้นเกิดจากการขาดหน่วยความจำที่พร้อมใช้งานเพื่อเรียกใช้โปรแกรมของฉัน (แทนที่จะเป็นจุดบกพร่องในรหัสของฉัน)?