Subject: Possible swapping bug (design 'feature?')
To: None <netbsd-bugs@sun-lamp.cs.berkeley.edu>
From: Mike Kienenberger <FXMLK@aurora.alaska.edu>
List: netbsd-bugs
Date: 07/05/1994 21:14:15
I'm using the following system.

% uname -a
NetBSD starwars 0.9a MUFFIN#9 i386

I'm attempting to run a program called a MUSH which can be considered a
multiuser database program where the program forks a process each hour to save
the information about the database in the background.   This is desirable since
the database size is 15 Meg.   The main process performs a fork() and then
allows the child process to save the information and _exit(0);.

The problem is that while a "ps aux" shows that the child process has exited
and isn't using any memory, "/usr/sbin/swapinfo -k" shows that the virtual
memory in use was never freed.  Additional forks() will use additional virtual
memory until the system finally freezes up when we run out of virtual memory.
Terminating the original process (the parent of each child) finally releases
the swap space allocated and the operating system returns to normal.

Since this problem hasn't occurred under Mach, linux, or SunOS, I assume it's
a problem with NetBSD.  If nothing else, it's a non-standard implementation
design.  What I'd like is a fix or a workaround since restarting the parent
process ever ten hours (by using 150 Megs swap space) isn't a desirable option.
-Mike Kienenberger
 fxmlk@aurora.alaska.edu
 



------------------------------------------------------------------------------