Re: [gentoo-user] limit maximum memory size of any process
Hi Zhang, on Tue, Nov 04, 2008 at 03:30:55PM +0800, you wrote: I interpret the above as use a maximum of 300,000 KiB of memory, of which 300 may be resident (i.e. in physical memory) and 299,700 swapped out. That doesn't sound good, although I'm not sure I'm reading it correctly. Sorry, it seems I used these parameter without care. I guess I only need to set physical memory limit, a.k.a. resident memory. Yes, that sounds reasonable. Remember it's in kilobytes so that would be 30. OT: I don't know why I have max locked memory (kbytes, -l) 32 But it has been like that before I set ulimit. Locked memory is memory that a process has protected against being swapped to disk. The best-known example is the memory gpg uses to store keys and passphrases, it would be pretty bad if it got swapped and someone could find your unprotected key on the disk later, so gpg tries to lock this memory in RAM. I don't have a file called /etc/sercurity/limits.conf and neither can I find information about it by using 'man limits.conf'. Further I couldn't find a package called pam_limits to emerge. Can you give me some clue which package I should emerge in order to set limits.conf ? The pam_limits module is part of the standard PAM distribution, here it's sys-libs/pam-1.0.1. Maybe just re-emerge it? cheers, Matthias -- I prefer encrypted and signed messages. KeyID: FAC37665 Fingerprint: 8C16 3F0A A6FC DF0D 19B0 8DEF 48D9 1700 FAC3 7665 pgpLO2liwse9h.pgp Description: PGP signature
Re: [gentoo-user] limit maximum memory size of any process
Zhang Weiwu ha scritto: So: is ulimit the solution? If so, what option should I set? My current ulimit is: $ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) 30 scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 3072 max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) 300 open files (-n) 1024 pipe size(512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 3072 virtual memory (kbytes, -v) unlimited file locks (-x) unlimited On my machine I use ulimit -v and it works- however never tried it inside a script. m.
Re: [gentoo-user] limit maximum memory size of any process
Hi Zhang, on Mon, Nov 03, 2008 at 06:24:00PM +0800, you wrote: I hope I can configure the system so that any process uses more than 50% of memory are automatically killed. first I was recommend to use ulimit by googling around. However this seems doesn't work even if I set both -d and -m (here is my .xinitrc) ~$ cat .xinitrc #export [EMAIL PROTECTED] #fcitx ulimit -d 30 ulimit -m 300 exec /usr/bin/fluxbox Result: OpenOffice stands still even when it takes 80% memory (read from top). So: is ulimit the solution? If so, what option should I set? I interpret the above as use a maximum of 300,000 KiB of memory, of which 300 may be resident (i.e. in physical memory) and 299,700 swapped out. That doesn't sound good, although I'm not sure I'm reading it correctly. What I do is use /etc/sercurity/limits.conf (from pam_limits) with a couple of entries like those: | @users hardnproc 1000 | mb hardnproc 5000 | @users hardas 2097152 | mb hardas 6291456 | mb hardnice-5 | mb hardrtprio 5 Meaning, everyone but me (mb) may use up to 1000 processes per login, with a max. address space of 2 GiB each; for myself the limit is 6 GiB and 5k processes. Myself I cannot accidentially set a negative nice-value because I left the soft limit at its default (0 for non-root users) but using ulimit I can set it to the hard limit of -5 and nice-up processes even as a normal user. cheers, Matthias -- I prefer encrypted and signed messages. KeyID: FAC37665 Fingerprint: 8C16 3F0A A6FC DF0D 19B0 8DEF 48D9 1700 FAC3 7665 pgpRLx3YFB6kP.pgp Description: PGP signature
Re: [gentoo-user] limit maximum memory size of any process
Matthias Bethke wrote: Hi Zhang, on Mon, Nov 03, 2008 at 06:24:00PM +0800, you wrote: I hope I can configure the system so that any process uses more than 50% of memory are automatically killed. first I was recommend to use ulimit by googling around. However this seems doesn't work even if I set both -d and -m (here is my .xinitrc) ~$ cat .xinitrc #export [EMAIL PROTECTED] #fcitx ulimit -d 30 ulimit -m 300 exec /usr/bin/fluxbox Result: OpenOffice stands still even when it takes 80% memory (read from top). So: is ulimit the solution? If so, what option should I set? I interpret the above as use a maximum of 300,000 KiB of memory, of which 300 may be resident (i.e. in physical memory) and 299,700 swapped out. That doesn't sound good, although I'm not sure I'm reading it correctly. Sorry, it seems I used these parameter without care. I guess I only need to set physical memory limit, a.k.a. resident memory. OT: I don't know why I have max locked memory (kbytes, -l) 32 But it has been like that before I set ulimit. What I do is use /etc/sercurity/limits.conf (from pam_limits) with a couple of entries like those: | @users hardnproc 1000 | mb hardnproc 5000 | @users hardas 2097152 | mb hardas 6291456 | mb hardnice-5 | mb hardrtprio 5 Meaning, everyone but me (mb) may use up to 1000 processes per login, with a max. address space of 2 GiB each; for myself the limit is 6 GiB and 5k processes. Myself I cannot accidentially set a negative nice-value because I left the soft limit at its default (0 for non-root users) but using ulimit I can set it to the hard limit of -5 and nice-up processes even as a normal user. I don't have a file called /etc/sercurity/limits.conf and neither can I find information about it by using 'man limits.conf'. Further I couldn't find a package called pam_limits to emerge. Can you give me some clue which package I should emerge in order to set limits.conf ? Thank you very much for prompt help!