All of lore.kernel.org
 help / color / mirror / Atom feed
From: Daniel Lezcano <daniel.lezcano-GANU6spQydw@public.gmane.org>
To: kt-S89nZTSLPHGGdvJs77BJ7Q@public.gmane.org
Cc: Linux Containers
	<containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org>,
	lxc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [lxc-devel] Memory Resources
Date: Sun, 23 Aug 2009 22:05:23 +0200	[thread overview]
Message-ID: <4A91A103.6020207@free.fr> (raw)
In-Reply-To: <ac1c4bf20908231222t182e6ca6u716b98e13d85cbad-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

Krzysztof Taraszka wrote:
> 2009/8/23 Krzysztof Taraszka <krzysztof.taraszka-S89nZTSLPHGGdvJs77BJ7Q@public.gmane.org>
>
>   
>> 2009/8/23 Krzysztof Taraszka <krzysztof.taraszka-S89nZTSLPHGGdvJs77BJ7Q@public.gmane.org>
>>
>>     
>>> 2009/8/23 Daniel Lezcano <daniel.lezcano-GANU6spQydw@public.gmane.org>
>>>
>>>       
>>>> Krzysztof Taraszka wrote:
>>>>
>>>>         
>>>>> 2009/8/23 Daniel Lezcano <daniel.lezcano-GANU6spQydw@public.gmane.org>
>>>>>
>>>>>  Krzysztof Taraszka wrote:
>>>>>           
>>>>>>  Hello,
>>>>>>             
>>>>>>> I am running lxc on my debian unstable sandbox and I have a few
>>>>>>> question
>>>>>>> about memory managament inside linux containers based on lxc project.
>>>>>>>
>>>>>>> I have got linux kernel 2.6.30.5 with enabled :
>>>>>>>
>>>>>>> +Resource counter
>>>>>>> ++ Memory Resource Controller for Control Groups
>>>>>>>  +++ Memory Resource Controller Swap Extension(EXPERIMENTAL)
>>>>>>>
>>>>>>> lxc-checkconfig pass all checks.
>>>>>>>
>>>>>>> I read about cgroups memory managament
>>>>>>> (Documentation/cgroups/memory.txt)
>>>>>>> and I tried to pass those value to my debian sandbox.
>>>>>>>
>>>>>>> And...
>>>>>>> 'free -m' and 'top/htop' still show all available memory inside
>>>>>>> container
>>>>>>> (also If I set 32M for lxc.cgroup.memory.limit_in_bytes and
>>>>>>> lxc.cgroup.memory.usage_in_bytes; and 64M for
>>>>>>> lxc.cgroup.memory.memsw.usage_in_bytes and
>>>>>>> lxc.cgroup.memory.memsw.limit_in_bytes free and top show all
>>>>>>> resources).
>>>>>>>
>>>>>>> What I did wrong? Does the container always show all available memory
>>>>>>> resources  without cgroup limitations?
>>>>>>>
>>>>>>>  At the first glance I would say the configuration is correct.
>>>>>>>               
>>>>>> But AFAIR, the memory cgroup is not isolated, if you specify 32MB you
>>>>>> will
>>>>>> see all the memory available on the system either if you are not
>>>>>> allowed to
>>>>>> use more than 32MB. If you create a program which allocates 64MB within
>>>>>> a
>>>>>> container configured with 32MB, and you "touch" the pages (may be that
>>>>>> can
>>>>>> be done with one mmap call with the MAP_POPULATE option), you should
>>>>>> see the
>>>>>> application swapping and the "memory.failcnt" increasing.
>>>>>>
>>>>>> IMHO, showing all the memory available for the system instead of
>>>>>> showing
>>>>>> the allowed memory with the cgroup is weird but maybe there is a good
>>>>>> reason
>>>>>> to do that.
>>>>>>
>>>>>>
>>>>>>
>>>>>>             
>>>>> Thank you Daniel for your reply.
>>>>> I think that LXC should isolate memory available for containers like
>>>>> Vserver
>>>>> or FreeVPS do (memory + swap) if .cgroup.memory.* and
>>>>> lxc.cgroup.memory.memsw.* is set.
>>>>> Is there any possibility to make a patch for linux kernel / lxc-tools to
>>>>> show the limitations inside cointainers propertly? I think is a good
>>>>> idea
>>>>> and it should be apply as soon as possible.
>>>>>
>>>>>           
>>>> Maybe a solution can be to add a new memory.meminfo file in the same
>>>> format than /proc/meminfo, so it will be possible to mount --bind
>>>> /cgroup/foo/memory.meminfo to /proc/meminfo for the container.
>>>>
>>>>         
>>> Yes, I thought the same. This should allow the user-space tools based on
>>> /proc/meminfo (such as comand line "free") show limited information :)
>>>
>>>       
>> Hmmm... does the memory.stat is a good start point for make new one object
>> memory.meminfo similar to /proc/meminfo? If so, I can play by my self with
>> lxc-tools code.
>>
>>     
>
>
> Hmmm... Daniel, I have got a question (that do I thinking in the right way).
> here is an output from /proc/meminfo from openvz:
>
>
> MemTotal:             262144 kB
> MemFree:            232560 kB
> Buffers:             0 kB
> Cached:            0 kB
> SwapCached:        0 kB
> Active:            0 kB
> Inactive:            0 kB
> HighTotal:            0 kB
> HighFree:            0 kB
> LowTotal:             262144 kB
> LowFree:            232560 kB
> SwapTotal:        0 kB
> SwapFree:        0 kB
> Dirty:             0 kB
> Writeback:        0 kB
> AnonPages:        0 kB
> Mapped:            0 kB
> Slab:                0 kB
> SReclaimable:            0 kB
> SUnreclaim:              0 kB
> PageTables:              0 kB
> NFS_Unstable:           0 kB
> Bounce:                  0 kB
> WritebackTmp:            0 kB
> CommitLimit:             0 kB
> Committed_AS:            0 kB
> VmallocTotal:            0 kB
> VmallocUsed:             0 kB
> VmallocChunk:            0 kB
> HugePages_Total:    0
> HugePages_Free:    0
> HugePages_Rsvd:   0
> HugePages_Surp:    0
> Hugepagesize:         2048 kB
>
> most of values are 0.
>
> I have an question about SwapTotal and SwapFree for LXC.
> As I thinking that:
>
> MemTotal might be: hierarchical_memory_limit
> MemFree might be: hierarchical_memory_limit - cache
>   
I am not a memory expert, but isn't MemFree : hierarchical_memory_limit 
- rss ?
> the
>
> SwapTotal might be: hierarchical_memsw_limit
> SwapFree might be: hierarchical_memsw_limit - rss
>
> rss - # of bytes of anonymous and swap cache memory
> I don't know at all that hierarchical_memsw_limit is an good value for swap
> total, because as I read it is a mem+swap at all.
>
> Does the lxc memory.meminfo might look like above? Where can I get the
> Hugepagesize?
>   
Right, I agree most of the interesting information to create a 
memory.meminfo is already there in another file and another format. 
Probably some informations in memory.stat can be moved to memory.meminfo 
and this one can be step by step filled with cgroup memory statistic 
informations. IMO, if the memory controller displays memory statistics 
like a proc/meminfo file format, that will make consistency for these 
informations and make trivial the isolation/virtualization with a simple 
mount-bind.

  parent reply	other threads:[~2009-08-23 20:05 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <ac1c4bf20908230513q383fb338ne02e8f19f6ef18a6@mail.gmail.com>
     [not found] ` <ac1c4bf20908230513q383fb338ne02e8f19f6ef18a6-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-23 16:18   ` [lxc-devel] Memory Resources Daniel Lezcano
     [not found]     ` <4A916BC9.8040905-GANU6spQydw@public.gmane.org>
2009-08-23 16:59       ` Krzysztof Taraszka
     [not found]         ` <ac1c4bf20908230959j4cda58cel3bcf4f3822d50bb1-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-23 18:00           ` Daniel Lezcano
     [not found]             ` <4A9183B2.7090005-GANU6spQydw@public.gmane.org>
2009-08-23 18:17               ` Krzysztof Taraszka
     [not found]                 ` <ac1c4bf20908231117sb180e78q3eed64db3573ec35-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-23 18:38                   ` Krzysztof Taraszka
     [not found]                     ` <ac1c4bf20908231138j2ce7bb48v69a8ac8ede6bc314-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-23 19:22                       ` Krzysztof Taraszka
     [not found]                         ` <ac1c4bf20908231222t182e6ca6u716b98e13d85cbad-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-23 20:05                           ` Daniel Lezcano [this message]
     [not found]                             ` <4A91A103.6020207-GANU6spQydw@public.gmane.org>
2009-08-23 20:18                               ` Krzysztof Taraszka
     [not found]                                 ` <ac1c4bf20908231318v1586c2ciffd3df5fe1b70c20-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-23 21:00                                   ` Daniel Lezcano
     [not found]                                     ` <4A91ADE1.9090204-GANU6spQydw@public.gmane.org>
2009-08-23 21:12                                       ` Krzysztof Taraszka
     [not found]                                         ` <ac1c4bf20908231412m634fdf9h686f6bd24eb95a14-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-24  0:27                                           ` KAMEZAWA Hiroyuki
     [not found]                                             ` <20090824092739.70d56a5b.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-08-24  0:40                                               ` Krzysztof Taraszka
2009-08-24  6:17                                               ` [Devel] " Dietmar Maurer
     [not found]                                                 ` <90D306BE6EBC8D428A824FBBA7A3113DE076E221-jRgWbcutxcWenyD9vqZGNUEOCMrvLtNR@public.gmane.org>
2009-08-24  6:58                                                   ` KAMEZAWA Hiroyuki
     [not found]                                                     ` <20090824155835.94f6b88f.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-08-24  7:17                                                       ` Balbir Singh
     [not found]                                                         ` <20090824071757.GQ29572-SINUvgVNF2CyUtPGxGje5AC/G2K4zDHf@public.gmane.org>
2009-08-24  7:18                                                           ` KAMEZAWA Hiroyuki
     [not found]                                                             ` <20090824161825.c40a85a2.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-08-25  9:46                                                               ` Balbir Singh
2009-08-24  0:48                                       ` Krzysztof Taraszka
2009-08-24  0:58                                       ` Krzysztof Taraszka
     [not found]                                         ` <4A924D11.80002@free.fr>
     [not found]                                           ` <ac1c4bf20908240125q1e126cdq2d2b7659ca167d52@mail.gmail.com>
     [not found]                                             ` <4A924F5C.1000208@fr.ibm.com>
     [not found]                                               ` <ac1c4bf20908240138l67cfabfcid2bb7224a1f6ab24@mail.gmail.com>
     [not found]                                                 ` <4A925794.7050808@free.fr>
     [not found]                                                   ` <ac1c4bf20908240245ydbc1b9bxacfcf2398049505c@mail.gmail.com>
     [not found]                                                     ` <4A92676A.1080609@free.fr>
     [not found]                                                       ` <4A92676A.1080609-GANU6spQydw@public.gmane.org>
2009-08-24 10:58                                                         ` Krzysztof Taraszka
     [not found]                                                       ` <ac1c4bf20908240327u424bd021t8848cf1cafb24ada@mail.gmail.com>
     [not found]                                                         ` <ac1c4bf20908240327u424bd021t8848cf1cafb24ada-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-24 11:13                                                           ` Daniel Lezcano
     [not found]                                                             ` <4A9275CB.7030108-GANU6spQydw@public.gmane.org>
2009-08-24 11:31                                                               ` Krzysztof Taraszka
     [not found]                                                                 ` <ac1c4bf20908240431p1fda5a15qd26629618397696-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-24 14:11                                                                   ` Daniel Lezcano
     [not found]                                                                     ` <4A929F83.80207-GANU6spQydw@public.gmane.org>
2009-08-24 16:26                                                                       ` Krzysztof Taraszka
     [not found]                                                                         ` <ac1c4bf20908240926j401003dft11f50d3be1466f90-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-24 16:30                                                                           ` Daniel Lezcano
     [not found]                                                                             ` <4A92C01E.5010809-GANU6spQydw@public.gmane.org>
2009-08-24 16:36                                                                               ` Krzysztof Taraszka
     [not found]                                                                                 ` <ac1c4bf20908240936t1bee38e3h9388298f435f056c-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-24 19:22                                                                                   ` Krzysztof Taraszka
     [not found]                                                                                     ` <ac1c4bf20908241222w127f9f7em5175213281491a8d-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-24 23:03                                                                                       ` Krzysztof Taraszka
2009-08-26  1:43                                                                       ` KAMEZAWA Hiroyuki
     [not found]                                                                         ` <20090826104312.97ff028f.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-08-26 12:11                                                                           ` Daniel Lezcano
     [not found]                                                                             ` <4A952689.9020704-GANU6spQydw@public.gmane.org>
2009-08-26 13:50                                                                               ` Krzysztof Taraszka
     [not found]                                                                                 ` <ac1c4bf20908260650x3311d5d3q44631a30205089b7-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-26 23:25                                                                                   ` Krzysztof Taraszka
     [not found]                                                                                     ` <ac1c4bf20908261625g71dff96cu77190056540cbb7-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2009-08-28  9:32                                                                                       ` Daniel Lezcano
     [not found]                                                                                         ` <4A97A448.5050506-GANU6spQydw@public.gmane.org>
2009-08-30 23:56                                                                                           ` KAMEZAWA Hiroyuki
     [not found]                                                                                             ` <20090831085606.b7207a76.kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2009-08-31  9:24                                                                                               ` Daniel Lezcano
     [not found]                                                                                                 ` <4A9B96B7.9060009-GANU6spQydw@public.gmane.org>
2009-08-31 10:02                                                                                                   ` Dietmar Maurer
2009-08-31 13:40                                                                                           ` Serge E. Hallyn
     [not found]                                                                                             ` <20090831134045.GD4837-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-08-31 14:41                                                                                               ` Daniel Lezcano
     [not found]                                                                                                 ` <4A9BE134.5040804-GANU6spQydw@public.gmane.org>
2009-08-31 14:54                                                                                                   ` Serge E. Hallyn
     [not found]                                                                                                     ` <20090831145423.GA8107-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-08-31 15:18                                                                                                       ` Daniel Lezcano
     [not found]                                                                                                         ` <4A9BE9A9.1080907-GANU6spQydw@public.gmane.org>
2009-08-31 15:47                                                                                                           ` Daniel Lezcano
2009-08-31 16:31                                                                                                           ` Serge E. Hallyn
     [not found]                                                                                                             ` <20090831163114.GA13896-r/Jw6+rmf7HQT0dZR+AlfA@public.gmane.org>
2009-09-01 18:37                                                                                                               ` Daniel Lezcano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4A91A103.6020207@free.fr \
    --to=daniel.lezcano-ganu6spqydw@public.gmane.org \
    --cc=containers-qjLDD68F18O7TbgM5vRIOg@public.gmane.org \
    --cc=kt-S89nZTSLPHGGdvJs77BJ7Q@public.gmane.org \
    --cc=lxc-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.