Re: [gentoo-user] limit maximum memory size of any process

2008-11-04 Thread Matthias Bethke
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

2008-11-03 Thread b.n.
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

2008-11-03 Thread Matthias Bethke
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

2008-11-03 Thread Zhang Weiwu
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!