Subject: Re: Per-user and per-process memory config
To: John Klos <john@klos.com>
From: Eirik Nicolai Synnes <eirikns@ifi.uio.no>
List: port-amiga
Date: 03/25/2000 16:47:39
John Klos <john@klos.com> wrote:

> Hello,

> I have a relatively well-endowed server: a 68060 with 144 megs of
> ram. I've been up for 108 days with lots of users and lots of virtual
> domains and so on, and she's never even hit swap.

> However, twice I've had problems: once I tried compiling MySQL, but it
> stopped with "swap space exhausted", and just recently I've tried emailing
> a 7 meg file, and Pine quit with: Problem detected: "Can't resize memory".

> In both instances, the memory used by the system was low (less than 64
> megs), and the memory used by the process was around 20 megs (size in
> top). Obviously I had lots more ram.

> In my FreeBSD book, a file called login.conf is described that allows one
> to set a login class and set stuff like maximum data size, maximum stack
> size, the maximum amount of memory per process a user is allowed to lock,
> and total memory per process.

> Is there any such set of settings in NetBSD? If so, where? If not, what
> controls the maximum amount of memory for processes and such?

This is specific to the shell you are using. With the NetBSD standard shell
(csh) the 'limit' and 'unlimit' function will let you adjust these
parameters, with bash and some other shells you use 'ulimit'.

There is (afaik) no login.conf or equivalent in NetBSD 1.4.x, but if you
want to adjust these values for all users try inserting 'limit' calls in
/etc/csh.login or the eqivalent file for the shell you are using. Note
that 'unlimit' can only be used by the superuser. Since you only run into
this problem occasionally it is probably safer to just use 'limit'/'ulimit'
on the shell prompt when you need it though.

There's also some kernel config variables that can be adjusted to better
suit setups with lots of memory, this has been discussed here before. I
believe the defaults were made more friendly to setups with more than
64Mbyte RAM before the 1.4.2 release.