1#! /bin/sh 2 3################################################################################ 4## ## 5## Copyright (c) 2009 FUJITSU LIMITED ## 6## ## 7## This program is free software; you can redistribute it and#or modify ## 8## it under the terms of the GNU General Public License as published by ## 9## the Free Software Foundation; either version 2 of the License, or ## 10## (at your option) any later version. ## 11## ## 12## This program is distributed in the hope that it will be useful, but ## 13## WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY ## 14## or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ## 15## for more details. ## 16## ## 17## You should have received a copy of the GNU General Public License ## 18## along with this program; if not, write to the Free Software ## 19## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ## 20## ## 21## Author: Li Zefan <lizf@cn.fujitsu.com> ## 22## ## 23################################################################################ 24 25# attach current task to memcg/0/ 26mkdir memcg/0 27echo $$ > memcg/0/tasks 28 29./memcg_test_4 & 30pid=$! 31sleep 1 32 33# let $pid allocate 100M memory 34/bin/kill -SIGUSR1 $pid 35sleep 1 36 37# shrink memory, and then 80M will be swapped 38echo 40M > memcg/0/memory.limit_in_bytes 39 40# turn off swap, and swapoff will be killed 41swapoff -a 42sleep 1 43echo $pid > memcg/tasks 2> /dev/null 44echo $$ > memcg/tasks 2> /dev/null 45 46# now remove the cgroup 47rmdir memcg/0 48 49