В Linux вы можете использовать «cgroups» для ограничения ресурсов для любого программного обеспечения, работающего на вашем компьютере.
Установка cgroup-tools
с apt-get install cgroup-tools
Отредактируйте свою конфигурацию /etc/cgconfig.conf
, чтобы создать профиль для конкретного типа работы (например, численные научные вычисления):
group app/numwork {
memory {
memory.limit_in_bytes = 500000000;
}
}
Примените эту конфигурацию к именам процессов, которые вас интересуют, перечислив их в /etc/cgrules.conf
(в моем случае это все julia
исполняемые файлы, которые я запускаю через jupyter
, но вы также можете использовать ее для любого другого программного обеспечения ):
*:julia memory app/numwork/
Наконец, проанализируйте конфигурацию и установите ее в качестве текущей активной конфигурации с помощью следующих команд:
~# cgconfigparser -l /etc/cgconfig.conf
~# cgrulesengd
Я использую это для установки ограничений на процессы, выполняемые на сервере, который используется всем моим классом студентов.
На этой странице есть некоторые подробности и другие способы использования cgroups
https://wiki.archlinux.org/index.php/cgroups