คำถามติดแท็ก oom

1
ป้องกันระบบหยุดทำงาน / ไม่ตอบสนองเนื่องจากการสลับการใช้หน่วยความจำหมด
หากกระบวนการต้องการหน่วยความจำจำนวนมากระบบจะย้ายกระบวนการอื่นทั้งหมดไปยังไฟล์ swap รวมถึงกระบวนการที่จำเป็นเช่นเซิร์ฟเวอร์ X11 หรือเทอร์มินัล ดังนั้นหากกระบวนการยังคงจัดสรรโดยไม่ จำกัด ทุกอย่างจะไม่ตอบสนองจนกว่ากระบวนการนั้นจะถูก OOM-killer ทำการฆ่า แล็ปท็อปของฉันดูเหมือนจะเหมาะสมเป็นพิเศษและตอบสนองได้แย่มาก ฉันเพิ่งใช้เวลาทั้งหมดประมาณหนึ่งชั่วโมงเพื่อรอการยกเลิกกระบวนการซึ่งแม้แต่เคอร์เซอร์เมาส์ก็ไม่สามารถขยับได้ วิธีนี้สามารถหลีกเลี่ยงได้? 1) ปิดการแลกเปลี่ยน => ฉันมักจะเริ่มกระบวนการจำนวนมากที่ไม่ได้ใช้งาน คนที่ไม่ได้ใช้งานควรถูกย้ายไปที่การแลกเปลี่ยน 2) รับ SSD => แพงเกินไป 3) ตั้งค่า ulimit หน่วยความจำสูงสุด => แต่มันล้มเหลวในกรณีที่โปรแกรมต้องการหน่วยความจำขนาดใหญ่ที่เป็นกันเอง ปัญหาไม่ใช่ว่ามันใช้มากเกินไป แต่มันจะหยุดกระบวนการอื่น ๆ 4) รักษาโปรแกรมที่สำคัญ (X11, bash, kill, top, ... ) ไว้ในหน่วยความจำและไม่เคยเปลี่ยนโปรแกรมเหล่านี้ => ทำได้หรือไม่? อย่างไร บางทีแค่สลับโปรแกรมขนาดใหญ่? 5)?
46 linux  memory  swap  oom 

1
gentoo - ปิดการใช้งานบิลด์ขนานสำหรับ llvm
ฉันติดตั้ง Gentoo บนคอมพิวเตอร์ที่มี RAM ค่อนข้างน้อย (1 GB) เมื่อฉันติดตั้งllvm( emerge -a llvm) คอมพิวเตอร์จะไม่มีหน่วยความจำหมด cc1plusกระบวนการทั้งหมด 4 กระบวนการใช้ RAM ประมาณ 25% เมื่อระบบใช้ไม่ได้ ฉันคิดว่าการใช้เพียงหนึ่งกระบวนการในแต่ละครั้งอาจช่วยได้ ฉันจะรันllvmbuild (ใช้cmakeและninja) ด้วยกระบวนการคอมไพเลอร์เดียวได้อย่างไร ปรับปรุง ฉันพิมพ์ผิดในmake.conf: #MAKEFAGS="-j3" MAKEFAGS="-j1" ฉันกำลังลองชุดตัวเลือกอื่น ๆ อีกมากมาย แต่ฉันจะเขียนในไม่กี่วัน (เนื่องจากการรวบรวมใช้เวลาหลายชั่วโมงและหากไม่มี RAM ให้ใช้ฉันต้องรีบูตโดยถอดปลั๊กออกแม้จะใช้ swap)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.