ฉันมี eeePC 900a: มันมีแฟลช 8GB เป็นดิสก์และ RAM เพียง 1GB การกระจาย Linux ที่ติดตั้งในนั้นคือ ArchLinux
เมื่อหน่วยความจำไม่เพียงพอระบบจะไม่ตอบสนองอย่างมาก : ใช้เวลาหลายวินาที / นาทีในการทำสิ่งต่าง ๆ เช่นการเปลี่ยนไปใช้ TTY1 หรือแม้แต่เลื่อนตัวชี้เมาส์ บางครั้งดูเหมือนว่าระบบจะค้าง: สามของเราที่ผ่านมาฉันปล่อยให้มันคนเดียวและไม่มีอะไรเปลี่ยนแปลงเลย
ฉันควรหลีกเลี่ยงการสร้าง swap พาร์ติชั่น / ไฟล์ใน eeePC นี้เนื่องจากดิสก์มีขนาดเล็กและเนื่องจากการเขียนจำนวนมากบนพื้นที่สว็อปจะทำให้อายุการใช้งานของการ์ดแฟลชสั้นลง ยิ่งกว่านั้นฉันคิดว่า swap file / partition นั้นจะย้ายปัญหาแทนที่จะทำการแก้ไขอย่างแน่นอน
เคอร์เนลไม่ควรฆ่าแอปพลิเคชั่นแบบสุ่มเมื่อหน่วยความจำไม่เพียงพอหรือไม่ ทำไมมันจึงล้มเหลว (หรือใช้เวลานาน) ในการทำเช่นนั้น?
ไม่กี่เดือน / ปีที่ผ่านมาฉันพยายามมองลึกเข้าไปในเรื่องนี้ แต่ไม่พบสิ่งใดที่จะใช้งานได้จริง ...
while(true){ if( $FREE_MEMORY<10MB ){ kill -9 $RANDOM_PID; } }
A: นี่จะแก้ไขปัญหาของฉันอย่างแน่นอน แต่เดี๋ยวก่อนเคอร์เนลไม่ควรทำอย่างนั้น (และในทางที่ดีกว่าสคริปต์ของฉัน)? ทำไมมันไม่ทำงาน