@ voretaq7 linux ไม่มีแนวคิดเรื่องสมองที่เสียหายของการจัดการหน่วยความจำโดยค่าเริ่มต้น vm.overcommit_ratio คือ 0
0 - Heuristic overcommit handling. Obvious overcommits of
address space are refused. Used for a typical system. It
ensures a seriously wild allocation fails while allowing
overcommit to reduce swap usage. root is allowed to
allocate slightly more memory in this mode. This is the
default.
ด้วยวิธีนี้ถ้าคุณมี RAM 4GB และคุณพยายามจัดสรร 4.2 GB ด้วย malloc ของหน่วยความจำเสมือนการจัดสรรของคุณจะล้มเหลว
ด้วย vm.overcommit_ratio = 1
1 - Always overcommit. Appropriate for some scientific
applications. Classic example is code using sparse arrays
and just relying on the virtual memory consisting almost
entirely of zero pages.
ด้วย vm.overcommit_ratio = 2
2 - Don't overcommit. The total address space commit
for the system is not permitted to exceed swap + a
configurable percentage (default is 50) of physical RAM.
Depending on the percentage you use, in most situations
this means a process will not be killed while accessing
pages but will receive errors on memory allocation as
appropriate.
Useful for applications that want to guarantee their
memory allocations will be available in the future
without having to initialize every page.
ดังนั้นโดยค่าเริ่มต้น linux จะไม่ overcommit ถ้าแอปพลิเคชันของคุณมีหน่วยความจำมากกว่าคุณก็อาจเป็นโค้ดของคุณ