История изменений
Исправление
Legioner,
(текущая версия)
:
Нет, ты не прав. Корни растут из непродуманного алгоритма работы со страничным кэшем в условиях нехватки памяти. Вот куда надо копать. Какая тебе будет разница, что там с оверкоммитом, если система просто не будет виснуть?
Сформулируй, какую проблему ты пытаешься решить.
Суть в том, что без overcommit-а ситуации, когда памяти не хватает вообще никак - не возникает в принципе. Вся выделенная память в системе доступна, пусть даже со свопом, это не страшно. А с overcommit-ом у нас рядовая ситуация - когда в системе 16 GB RAM + 20 GB SWAP, но при этом приложение легко может запросить больше памяти и получить адреса. Понятно, что если оно реально по этим адресам начнёт читать/писать, то этой памяти системе взять негде и тут остаётся только убивать этот процесс.
При этом с современными SSD своп это не как раньше с HDD. Такой своп, конечно, на порядки медленней памяти, но всё же система будет как-то работать.
Исходная версия
Legioner,
:
Нет, ты не прав. Корни растут из непродуманного алгоритма работы со страничным кэшем в условиях нехватки памяти. Вот куда надо копать. Какая тебе будет разница, что там с оверкоммитом, если система просто не будет виснуть?
Сформулируй, какую проблему ты пытаешься решить.
Суть в том, что без overcommit-а ситуации, когда памяти не хватает вообще никак - не возникает в принципе. Вся выделенная память в системе доступна, пусть даже со свопом, это не страшно. А с overcommit-ом у нас рядовая ситуация - когда в системе 16 GB RAM + 20 GB SWAP, но при этом приложение легко может запросить больше памяти и получить адреса. Понятно, что если оно реально по этим адресам начнёт читать/писать, то этой памяти системе взять негде и тут остаётся только убивать этот процесс.
При этом с современными SSD своп это не как раньше с HDD. Такой своп, конечно, на порядки медленней памяти, но всё же система будет работать относительно вменяемо.