-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 23/01/13 04:13, Mark A. Grondona wrote:
> If you want to limit allocations rather than resident memory, you > can disable overcommit (i.e. set /proc/sys/vm/overcommit_memory to > 2), We already do that to avoid having nodes hang due to the annoying OOM killer lockups you can get. Haven't had a deadlock like that for years now. > but afaik in RHEL6 you have to do this for the system as a whole. Yeah, that's a sysctl for the kernel, we run with: # Stop nodes OOM'ing vm.overcommit_memory = 2 vm.overcommit_ratio = 93 > Disabling overcommit will make calls to malloc() fail immediately > if too much memory is already ~committed~ to other processes, so > you may end up having a lot less RAM than you expect depending on > the behavior of other processes on the system. If your nodes run a > single job then this is less of a problem. What we want (and what we get as a per process limit with Torque with our RLIMIT_AS patch) is if a user requests a job with 1GB of RAM then any attempt by a program to malloc() more than that should cause malloc() to fail. I'm pretty sure that's meant to be possible via cgroups. cheers, Chris - -- Christopher Samuel Senior Systems Administrator VLSCI - Victorian Life Sciences Computation Initiative Email: sam...@unimelb.edu.au Phone: +61 (0)3 903 55545 http://www.vlsci.org.au/ http://twitter.com/vlsci -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iEYEARECAAYFAlD/XtIACgkQO2KABBYQAh9DjgCePdsAwg42Z8ZFyULgNze7UF9+ sxgAn2ChTTtmQcvPOEkdv/8yy2x+QWEl =gksu -----END PGP SIGNATURE-----