The percpu memory used by memcg cannot be cleared

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



hello,linux boss

        I found a problem in the process of using linux memcg,When I turned swap off, the memcg memory I created with the following script could not be deleted with echo 0 > memory.force_empty, as explained below。

----------------------------------------------------------------------------------------------------------
step1:swapoff -a


step2:use this script to create memcg

#!/bin/bash
mkdir -p /tmp/test
for i in 'seq 2000'
do
        sudo mkdir -p /sys/fs/cgroup/memory/user.slice/user-0.slice/test$ {i}
        sudo echo $$ > /sys/fs/cgroup/memory/user.slice/user-0.slice/test$ {i}/tasks
        sudo echo 'data' > /tmp/test/test$ {i}
        sudo echo $$ > /sys/fs/cgroup/memory/user.slice/user-0.slice/tasks
        sudo rmdir /sys/fs/cgroup/memory/user.slice/user-0.slice/test$ {i}
done


step3:view /proc/cgroup and /proc/meminfo  files

[root@localhost ~]# cat /proc/cgroups
#subsys_name    hierarchy       num_cgroups     enabled
cpuset                    10                   1                         1
cpu                          4                     1                        1
cpuacct                    4                     1                       1
blkio                        13                   1                        1
memory                  14                 2009                   1
devices                      6                   94                       1

[root@localhost ~]# cat /proc/meminfo | grep Percpu
Percpu:           600576 kB


step4:when I use "echo 0 > /sys/fs/cgroup/memory/user.slice/user-0.slice/memory.force_empty", I find the num_cgroups of memory and percpu  have no changed

[root@localhost ~]# echo 0 > /sys/fs/cgroup/memory/user.slice/user-0.slice/memory.force_empty
[root@localhost ~]# cat /proc/cgroups
#subsys_name    hierarchy       num_cgroups     enabled
cpuset                    10      1       1
cpu                          4       1       1
cpuacct                   4       1       1
blkio                       13      1       1
memory                  14      2039    1
devices                    6       87      1

[root@localhost ~]# cat /proc/meminfo | grep Percpu
Percpu:           600576 kB


step 5: when I use swapon -a to open swap, then echo 0 > /sys/fs/cgroup/memory/user.slice/user-0.slice/memory.force_empty again

[root@localhost ~]# swapon -a
[root@localhost ~]# echo 0 > /sys/fs/cgroup/memory/user.slice/user-0.slice/memory.force_empty


step 6: view /proc/cgroup and /proc/meminfo  files ,I found the the num_cgroups of memory and percpu  have been reduced. 
[root@localhost ~]# cat /proc/cgroups
#subsys_name    hierarchy       num_cgroups     enabled
cpuset                    10                         1                 1
cpu                         4                          1                 1
cpuacct                  4                          1                  1
blkio                     13                         1                  1
memory                14                     185                 1
devices                    6                      87                 1
freezer                   9                          1                 1

[root@localhost ~]# cat /proc/meminfo | grep Percpu
Percpu:           120832 kB
--------------------------------------------------------------------------------------------------------


Therefore, I want to know why swap affects memcg memory reclamation,  echo 0 > memory.force_empty this interface should force the memory used by the cgroup to be reclaimed. 
I want to know why ,I look forward to hearing back from the community.
Thanks.


-----------------------------------------
刘婧   计算产品部
手机:18896725597
邮箱:liujing@xxxxxxxxxxxxxxxxxxxx
中移(苏州)软件技术有限公司


[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux