История изменений
Исправление X512, (текущая версия) :
По крайней мере не убьет важные процессы, которые защищены через oom_score_adj.
А если в этом oom_score_adj есть процесс с утечкой памяти?
Где гарантия, что мелкие процессы не попадают
В системах без overcommit просто нет OOM-killer так что под него ничего не попадает.
когда жирный процесс выделяет память, обрабатывает ошибку выделения и продолжает жиреть?
Как он будет продолжать жиреть, если выделение памяти даёт ошибку?
см https://imgur.com/a/T68PAzD - оверкоммит запрещен, падают случайные мелкие процессы
Потому что в Линуксе на данный момент libc и много чего ещё прибито к overcommit.
Исправление X512, :
По крайней мере не убьет важные процессы, которые защищены через oom_score_adj.
А если в этом oom_score_adj есть процесс с утечкой памяти?
Где гарантия, что мелкие процессы не попадают
В системах без overcommit просто нет OOM-killer так что под него ничего не попадает.
когда жирный процесс выделяет память, обрабатывает ошибку выделения и продолжает жиреть?
Как он будет продолжать жиреть, если выделение памяти даёт ошибку?
см https://imgur.com/a/T68PAzD - оверкоммит запрещен, падают случайные мелкие процессы
Потому что в Линуксе libc и много чего ещё прибито к overcommit.
Исходная версия X512, :
По крайней мере не убьет важные процессы, которые защищены через oom_score_adj.
А если в этом oom_score_adj есть процесс с утечкой памяти?
Где гарантия, что мелкие процессы не попадают
В системах без overcommit просто нет OOM-killer так что под него ничего не попадает.
когда жирный процесс выделяет память, обрабатывает ошибку выделения и продолжает жиреть?
Как он будет жиреть, если выделение памяти даёт ошибку?