[Devel] Re: pidns memory leak

Daniel Lezcano dlezcano at fr.ibm.com
Thu Oct 8 01:11:56 PDT 2009


Sukadev Bhattiprolu wrote:
> Still digging through some traces, but below I have some questions that 
> I am still trying to answer.
> 
>> I am not sure what you mean by 'struct pids' but what I observed is:
> 
> Ok, I see that too. If pids leak, then pid-namespace will leak too.
> Do you see any leaks in proc_inode_cache ?

Yes, right. It leaks too.

>> pid_2 and pid_namespace (as they are named in /proc/slabinfo) are never  
>> decremented.
>>
>>> And the pid_namespace does not seem to reproduce for me, with out the
>>> 'ls -al /proc/...' above, or with the simpler 'ns_exec' approach to
>>> creating pid namespace.
>> I tried to write a simpler program but I failed to reproduce it.
>>
>>> I am going through the code for lxc-execute, but does it remount /proc  
>>> in the container ?
>> Right, the parent does a clone(NEWMNT|NEWPID|NEWIPC|NEWUTS), wait for  
>> the child while this one (pid 1) 'execs' the lxc-init process. This  
>> program mounts /proc and fork-exec the command passed as parameter (here  
>> 'sleep 3600').
>>
>> Without this intermediate process, the leak *seems* not happening.
>>
>> If you don't access /proc/<pid>/<file>, the leak is not happening.
> 
> I could not see the code for that.  Does lxc-stop unmount /proc too ?
> Or is the umount expected to happen automatically after all processes
> in the container are killed ?

The umount is expected to happen automatically. I can not access the 
container from the outside to umount /proc.
_______________________________________________
Containers mailing list
Containers at lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/containers




More information about the Devel mailing list