Shell's Home

Feb 19, 2014 - 1 minute read - Comments

利用cgroups隔离多个进程资源消耗的尝试

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.cpus
echo 0 > cpuset.mems

Without those two step, next operator will failure.

echo 0 > memory.swappiness
echo 52428800 > memory.limit_in_bytes

Set memory limit 50M, and forbidden swap.

python test code

import os, sys, time, random, string
def 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.

Tags: cgroup linux vm

长白山旅游——第四天 余额宝

comments powered by Disqus