setup
Add to /etc/fstab.
cgroup /sys/fs/cgroup cgroup defaults 0 2
Then sudo mount -a
.
Change directory to /sys/fs/cgroup/. Use mkdir to create a new group, and initalize it like those.
echo 0-3 >> cpuset.cpusecho 0 > cpuset.mems
Without those two step, next operator will failure.
echo 0 > memory.swappinessecho 52428800 > memory.limit_in_bytes
Set memory limit 50M, and forbidden swap.
python test code
import os, sys, time, random, stringdef main(): l = [] random.seed() raw_input() for i in xrange(1000000): for j in xrange(1000): t = list(string.letters) random.shuffle(t) s = ''.join(t) l.append(s) time.sleep(0.01)if __name__ == '__main__': main()
Finally, it triggered OOM.
原文地址:利用cgroups隔离多个进程资源消耗的尝试, 感谢原作者分享。 教育人的诗句或名言警句,激励人在逆境中脱颖而出的话