OOM – Out of Memory.
筆記文章
目前最好的文章.
When Linux Runs Out of Memory
另一份不錯的文章
Taming the OOM killer
這篇文章有講到可以設權值. userspace 去處理 OOM 問題等等.
原因
或許是 fragment memory 造成的, 也有可能 kernel 佔去太多 memory.
解決方案
完全啟用 Linux kernel over commit 機制.
echo 1 > /proc/sys/vm/overcommit_memory
其他參考文件
Dynamic memory management
Another approach, called buddy memory allocation, is a faster memory technique that divides memory into power-of-2 partitions and attempts to allocate memory requests using a best-fit approach. When memory is freed by the user, the buddy block is checked to see if any of its contiguous neighbors have also been freed. If so, the blocks are combined to minimize fragmentation. This algorithm tends to be a bit more time efficient but can waste memory due to the best-fit approach.
* 註: Linux 己經使用這個機制.
分析檔案
發佈留言