Вы можете попробовать с 'cgroups'.Чтобы использовать их, введите в качестве пользователя root следующие команды:
# mkdir /dev/cgroups
# mount -t cgroup -omemory memory /dev/cgroups
# mkdir /dev/cgroups/test
# echo 10000000 > /dev/cgroups/test/memory.limit_in_bytes
# echo 12000000 > /dev/cgroups/test/memory.memsw.limit_in_bytes
# echo <PID> > /dev/cgroups/test/tasks
Где находится PID процесса, который вы хотите добавить в группу.Обратите внимание, что ограничение применяется к сумме всех процессов, назначенных этой группе.
С этого момента процессы ограничены 10 МБ физической памяти и 12 МБ физической + подкачки.
В этом каталоге есть другие настраиваемые параметры, но точный список будет зависеть от используемой вами версии ядра.
Вы даже можете создавать иерархии ограничений, просто создавая подкаталоги.
Группа cgнаследуется, когда вы создаете / exec, поэтому, если вы добавите оболочку, из которой запускается ваша программа, в cgroup, она будет назначена автоматически.
Обратите внимание, что вы можете смонтировать cgroups в любом каталоге, который вам нужен, а не только в /DEV / контрольные группы.