Нынче, как известно, много жирнософта, ведущего себя как куча котят возле миски с молоком. Спасибо камраду spijet, претворившему мои вскукареки в реальность, но firejail-песочница мне не нужна, равно как и пачка похожих скриптов для каждой программы, так что чуть перепилил его скрипт: убрал firejail, вынес приложение и ограничение памяти в аргументы запуска, а также расширил согласно шапкодокам сие поведение на своп. Ибо своп у меня в zram и его накопление тоже чревато. Получился такой скрипт:
#!/bin/sh
## Script params:
CGROUP="$1"
MEM_MB="$2"
PROGRAM="/usr/bin/$1"
shift 2
# First, create the cgroup:
sudo /usr/bin/cgcreate -a "${USER}:${USER}" -t "${USER}:${USER}" -g "memory,cpu:${CGROUP}"
# Now, set memory limit:
/usr/bin/cgset -r "memory.memsw.limit_in_bytes=$(( MEM_MB * 1024 * 1024 ))" "${CGROUP}"
# Finally, call the executable:
/usr/bin/cgexec -g "memory,cpu:${CGROUP}" "${PROGRAM}" $@