cgroups.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Andrew Martin <andrew.s.martin-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: KAMEZAWA Hiroyuki
	<kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
Cc: "cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
Subject: Re: Cannot set memory.memsw.limit_in_bytes for a particular cgroup
Date: Tue, 24 Apr 2012 20:00:08 -0500	[thread overview]
Message-ID: <D5FAE552-76FE-43DB-B803-FD6F595C1518@gmail.com> (raw)
In-Reply-To: <4F974836.1090000-+CUm20s59erQFUHtdCDX3A@public.gmane.org>

Hi Kame,

On Apr 24, 2012, at 7:41 PM, KAMEZAWA Hiroyuki <kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@public.gmane.org> wrote:

> (2012/04/25 7:47), Andrew Martin wrote:
> 
>> Hello,
>> 
>> 
>> I am running a VM with Ubuntu Server 10.04 amd64. I have installed and
>> configured cgroups to limit the resources available to samba, nfs, and
>> apache. My configuration is as follows:
>> /etc/cgconfig.conf
>> group nfs {
>>        memory {
>>                memory.limit_in_bytes = 500M;
>>                memory.memsw.limit_in_bytes = 1000M;
>>        }
>>        cpu {
>>                cpu.shares = 10;
>>        }
>> }
>> 
>> group smb {
>>        memory {
>>                memory.limit_in_bytes = 1500M;
>>                memory.memsw.limit_in_bytes = 2000M;
>>        }
>>        cpu {
>>                cpu.shares = 13;
>>        }
>> }
>> 
>> group apache {
>>        memory {
>>                memory.limit_in_bytes = 6G;
>>                memory.memsw.limit_in_bytes = 6G;
>>                memory.swappiness = 5;
>>        }
>>        cpu {
>>                cpu.shares = 100;
>>        }
>> }
>> 
>> 
>> mount {
>>        cpu = /mnt/cgroups/cpu;
>>        cpuacct = /mnt/cgroups/cpuacct;
>>        memory = /mnt/cgroups/memory;
>>        cpuset = /mnt/cgroups/cpuset;
>> }
>> 
>> /etc/cgrules.conf
>> ## Samba Server
>> root:/usr/sbin/smbd             cpu,memory      smb/
>> root:/usr/sbin/nmbd             cpu,memory      smb/
>> 
>> ## NFS Server
>> root:/usr/sbin/exportfs         cpu,memory      nfs/
>> root:/usr/sbin/rpc.mountd       cpu,memory      nfs/
>> root:/usr/sbin/rpc.nfsd         cpu,memory      nfs/
>> root:/usr/sbin/rpc.svcgssd      cpu,memory      nfs/
>> root:nfsd                       cpu,memory      nfs/
>> root:nfsd4                      cpu,memory      nfs/
>> 
>> ## Apache Webserver
>> root:apache2                    cpu,memory      apache/
>> www-data                        cpu,memory      apache/
>> 
>> Both memory.limit_in_bytes and memory.memsw.limit_in_bytes seem to
>> work fine for the smb cgroup, but no matter what values I use for the
>> apache cgroup I cannot set memory.memsw.limit_in_bytes. My goal is to
>> disable apache's ability to swap by setting memory.limit_in_bytes and
>> memory.memsw.limit_in_bytes to the same value. After running "service
>> cgconfig restart" to restart the cgconfig service, I check the value
>> of memory.limit_in_bytes and memory.memsw.limit_in_bytes for the
>> apache group:
>> # cat /mnt/cgroups/memory/apache/memory.limit_in_bytes
>> 6442450944
>> # cat /mnt/cgroups/memory/apache/memory.memsw.limit_in_bytes
>> 9223372036854775807
>> 
>> The value for memory.memsw.limit_in_bytes is not being initialized. I
>> cannot find any related errors in /var/log. I have tried a number of
>> different values for memory.memsw.limit_in_bytes, however it will not
>> initialize properly. The only error I can see occurs when I restart
>> the cgroups service:
>> Stopping cgconfig service: rmdir: failed to remove `./smb': Device or
>> resource busy
>> sed: couldn't flush stdout: No such process
>> rmdir: failed to remove `./sysdefault': Device or resource busy
>> sed: couldn't flush stdout: No such process
>> rmdir: failed to remove `./sysdefault': Device or resource busy
>> sed: couldn't flush stdout: Invalid argument
>> rmdir: failed to remove `./sysdefault': Device or resource busy
>> *
>> Starting cgconfig service:
>> 
>> What else can I try in order to properly initialize
>> memory.memsw.limit_in_bytes? I can temporarily echo a value to it, but
>> would prefer a permanent solution.
>> 
> 
> 
> Then, Does "echo > ...apache/memory.memsw.limit_in_bytes" works fine ?
> If so, kernel works fine.
> 
It appears to work, in that if I cat it after doing so the new value is retained. However, I have not pushed apache hard enough after doing it to see if the limit is really enforced, though I agree it looks like it is being set correctly using this method.

> I'm sorry I'm not libcgroup specialist..but..What happens when you write
>>        memory {
>>                memory.limit_in_bytes = 6000M;
>>                memory.memsw.limit_in_bytes = 6000M;
>>                memory.swappiness = 5;
>>        }
> 
I also tried that as well as specifying the bytes directly, with no improvement. I also tried different values for memory.memsw.limit_in_bytes from 6000 to 6256 in both powers of 2 and 10.

Any other ideas?

Thanks!!!

Andrew

> ?
> 
> Thanks,
> -kame
> 

  parent reply	other threads:[~2012-04-25  1:00 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-04-24 22:47 Cannot set memory.memsw.limit_in_bytes for a particular cgroup Andrew Martin
     [not found] ` <CAE+0DR6yyRHGKYiR-svQAdaV2ZqgaTgPvDMwFFmVs6rJG6w0JA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-04-25  0:41   ` KAMEZAWA Hiroyuki
     [not found]     ` <4F974836.1090000-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-04-25  1:00       ` Andrew Martin [this message]
     [not found]         ` <D5FAE552-76FE-43DB-B803-FD6F595C1518-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2012-04-25  1:27           ` KAMEZAWA Hiroyuki
     [not found]             ` <4F9752ED.9050800-+CUm20s59erQFUHtdCDX3A@public.gmane.org>
2012-04-25  1:46               ` Andrew Martin

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=D5FAE552-76FE-43DB-B803-FD6F595C1518@gmail.com \
    --to=andrew.s.martin-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=kamezawa.hiroyu-+CUm20s59erQFUHtdCDX3A@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).