Исправление intelfx, (текущая версия) :
Ну смотри.
Видно два подхода.
Подход первый.
Total-(X+Padding)
.Придётся ещё разобраться с page cache, я не помню, как себя ведут цгруппы применительно к нему — страницы в кэше приписываются цгруппе процесса, который вызвал их загрузку, или лежат отдельно. Если первое, то проще, если второе, то сложнее.
Подход второй. В cgroups v2 появилось «ограничение снизу» (MemoryLow=
в systemd). Если оно делает то, что я думаю (исключает цгруппу из всяческого тротлинга, пока потребление памяти ниже ограничения снизу), то можно воспользоваться им: задать глобальное ограничение сверху в Total-Padding
, а для всех критичных программ задать ограничение снизу.
Исходная версия intelfx, :
Ну смотри.
Видно два подхода.
Подход первый.
Придётся ещё разобраться с page cache, я не помню, как себя ведут цгруппы применительно к нему — страницы в кэше приписываются цгруппе процесса, который вызвал их загрузку, или лежат отдельно. Если первое, то проще, если второе, то сложнее.
Подход второй. В cgroups v2 появилось «ограничение снизу» (MemoryLow=
в systemd). Если оно делает то, что я думаю (исключает цгруппу из всяческого тротлинга, пока потребление памяти ниже ограничения снизу), то можно воспользоваться им: задать глобальное ограничение сверху в Total-padding, а для всех критичных программ задать ограничение снизу.