Xref: utzoo comp.unix.i386:857 comp.unix.wizards:18762 Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!uwm.edu!uakari.primate.wisc.edu!xanth!ames!amdahl!altos!altos86!scott From: scott@altos86.Altos.COM (Scott A. Rotondo) Newsgroups: comp.unix.i386,comp.unix.wizards Subject: Re: Help! Altos 5.3.1 fork is failing! Message-ID: <3682@altos86.Altos.COM> Date: 18 Oct 89 21:02:36 GMT References: <506@oglvee.UUCP> Reply-To: scott@altos86.UUCP (Scott A. Rotondo) Followup-To: comp.unix.i386 Organization: Altos Computer Systems, San Jose, CA Lines: 37 A recent posting by Jim Rosenberg of Oglevee Computer Systems reports that fork() exhibits intermittent failures on an Altos 2000 with 4 MB of RAM. Each fork() failure is accompanied by a message from getcpages() reporting that memory is unavailable. Fork() can fail when getcpages() finds insufficient physical memory available to allocate a u-area for the new process. In this case, fork() returns -1 and sets errno to EAGAIN. This is the error condition mentioned on the man page, although the reference to raw I/O is incorrect. The NPBUF kernel parameter controls the number of scatter/gather address lists available for raw I/O, but it does not affect this fork() failure except by reducing slightly the total amount of memory available for user processes. Memory requirements for processes are somewhat different between UNIX and Xenix. I am sending (via US mail) an Altos document that outlines recommended memory sizes as a function of system load. It also describes tuning kernel parameters for maximum performance, based on activity reports generated by the sar utility. In this particular case, the best thing to do is probably to add more memory or allocate less space for structures like the buffer pool. The latter can be accomplished by tuning the kernel parameter NBUF. A more reliable way to raise issues like this one is to send mail to issues@Altos.COM or {sun,apple,pyramid}!altos86!issues. I happened to see this problem on the net, but mail to the above address is guaranteed to reach Altos engineering. Scott Rotondo Project Leader, UNIX OS Development -- =============================================================================== Scott A. Rotondo, Altos Computer Systems (408) 946-6700 {sun|pyramid|uunet}!altos86!scott scott@Altos.COM