Mike Perry wrote:

>   1. The system does not check rlimits for mmap and shmget (FreeBSD)
>   2. The system never bothers to offer the ability to set the rlimits for
>      virtual memory via shells, login process, or otherwise. (Linux)

Some fixes:

The Linux SysVinit (>2.54) uses /etc/initscript (or /sbin/initscript)
to spawn the processes listed in /etc/inittab, so you can set limits
within that (e.g. for the getty processes).

Either wrap in.telnetd or use -L to wrap the login program.

Set limits in the rc.init2 (etc) script for daemons which may execute
user-defined code (e.g. crond, httpd). Similarly for xdm via Xstartup.
You might also want to wrap your MDAs if you are using procmail or
allow program aliases in ~/.forward files.

Some versions of Linux (RedHat?) have a login which allows limits to
be set via a login.defs file.

>   4. With System V IPC, shared memory persists even after the process is
>      gone. So even though the kernel may kill the process after it exhausts
>      all memory from page faults, there still is 0 memory left for the system.
>      I suppose with some trickery you might be able to achieve the same results
>      by shared mmap()'ing a few large files between pairs of processes. (All)

mmap() is potentially less serious as the memory will be released if
the processes are killed.

--
Glynn Clements <[EMAIL PROTECTED]>

Reply via email to