Hi Kame, On Apr 24, 2012, at 7:41 PM, KAMEZAWA Hiroyuki <kamezawa.hiroyu@xxxxxxxxxxxxxx> 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 > -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html