เมื่อฉันใช้การตั้งค่าเริ่มต้น:
vm.overcommit_memory = 0
vm.overcommit_ratio = 50
ฉันสามารถอ่านค่าเหล่านี้ได้จาก/proc/meminfoไฟล์:
CommitLimit:     2609604 kB
Committed_AS:    1579976 kB
แต่เมื่อฉันเปลี่ยนvm.overcommit_memoryจาก0เป็น2ฉันไม่สามารถเริ่มแอปพลิเคชันชุดเดียวกันที่ฉันสามารถเริ่มก่อนการเปลี่ยนแปลงโดยเฉพาะ amarok ฉันต้องเปลี่ยนvm.overcommit_ratioเป็น300ดังนั้นขีด จำกัด สามารถเพิ่มขึ้นได้ ตอนนี้เมื่อฉันเริ่ม amarok /proc/meminfoแสดงต่อไปนี้
CommitLimit:     5171884 kB
Committed_AS:    3929668 kB
เครื่องนี้มี RAM เพียง 1GiB แต่ amarok ทำงานได้โดยไม่มีปัญหาเมื่อvm.overcommit_memoryตั้งค่าเป็น 0 แต่ในกรณีที่ตั้งค่าเป็น2amarok จำเป็นต้องจัดสรรหน่วยความจำมากกว่า 2GiB มันเป็นพฤติกรรมปกติหรือไม่? ถ้ามีใครสามารถอธิบายได้ว่าทำไมเช่น firefox (ซึ่งใช้หน่วยความจำมากกว่า amarok 4-6x) ทำงานในลักษณะเดียวกันก่อนและหลังการเปลี่ยนแปลง?
Committed_ASทั้งสองกรณีไม่ควรเท่ากันหรือ