LINUX.ORG.RU

cgroups

 


1

3

Можете, пожалуйста, помочь? Я хочу чтобы команды прописывались cgroups отдельно для каждого пользователя! А список пользователей брало например из списка папок в директории /home и прописало для каждого пользователя например:

sudo cgcreate -a (пользователь) -g memory,cpu,net_cls,net_prio,cpuacct,blkio:(пользователь)

echo 1000000 > /sys/fs/cgroup/cpu,cpuacct/(пользователь)/cpu.cfs_period_us

echo 400000 > /sys/fs/cgroup/cpu,cpuacct/(пользователь)/cpu.cfs_quota_us

echo 335544320 > /sys/fs/cgroup/memory/(пользователь)/memory.limit_in_bytes

echo 335544320 > /sys/fs/cgroup/memory/(пользователь)/memory.memsw.limit_in_bytes

echo «100:0 10485760» > /sys/fs/cgroup/blkio/(пользователь)/blkio.throttle.read_bps_device

и также прописывало файл /etc/cgrules.conf (главное чтобы повторений в данном файле не было)

@(пользователь) cpu,cpuacct,memory,blkio,net_cls,net_prio (пользователь)

опреционная система centos7 ! желательно чтобы был sh скрипт! заранее спасибо!

#!/bin/bash
echo"">/etc/cgrules.conf #снесет все содержимое файла
for dir in $(ls /home); do
if ["$dir" != "lost+found"] ; then
sudo cgcreate -a (пользователь) -g memory,cpu,net_cls,net_prio,cpuacct,blkio:"$dir";
echo 1000000 > /sys/fs/cgroup/cpu,cpuacct/"$dir"/cpu.cfs_period_us;
echo 400000 > /sys/fs/cgroup/cpu,cpuacct/"$dir"/cpu.cfs_quota_us;
echo 335544320 > /sys/fs/cgroup/memory/"$dir"/memory.limit_in_bytes;
echo 335544320 > /sys/fs/cgroup/memory/"$dir"/memory.memsw.limit_in_bytes;
echo «100:0 10485760» > /sys/fs/cgroup/blkio/"$dir"/blkio.throttle.read_bps_device;
echo "$dir  cpu,cpuacct,memory,blkio,net_cls,net_prio dir">>/etc/cgrules.conf; 
fi
done
Silerus ★★★ ()

Не будет ли это конфликтовать с systemd?

anonymous ()
Ответ на: комментарий от Silerus

Думаю лучше это реализовать через systemd. Просто добавляете ограничения в пользовательский юнит, можно делать это bash скриптом.

larrabee ()
Ответ на: комментарий от larrabee

Хз, просили sh скрипт - вот sh скрипт, быстро и на коленке

Silerus ★★★ ()
Ответ на: комментарий от Silerus

for dir in $(ls

У меня во дворе за такое расстреливают.

anonymous ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.