Help! Altos 5.3.1 fork is failing!
Jerry Gardner
jerry at altos86.Altos.COM
Tue Oct 24 09:49:02 AEST 1989
In article <1989Oct20.020309.2081 at NCoast.ORG> allbery at ncoast.ORG (Brandon S. Allbery) writes:
>
>As far as I can tell, "fork failed"s happen when memory is mostly full and
>something wants to fork and for some stupid reason Altos 5.3[a-d][DT][0-9]
>doesn't want to page anything out to make more room in core even though it can
>do so. I have some "sar" output that corroborates this, "fork failed" happens
>when a process tries to fork and there are < 100 free 512-byte (I think that's
>the units sar uses, I need to check) chunks of memory.
>
>I plan to ram this down Altos T/S's collective throat, since they haven't
>fixed it in 5.3dT1 and I reported it in 5.3bT1 (3 upgrades have gone by so
>far...).
>
The fork() failures you are seeing are occuring when procdup() calls
dupreg(). Dupreg() calls ptsalloc() which eventually calls getcpages() to
allocate memory for page tables to map the new child process' u-area.
Apparently, the kernel is paranoid in one place here and it calls ptsalloc
with a flag that doesn't allow it to sleep.
The best way to make this problem go away is to get more RAM. You'd be
amazed how little paging a 64MB 2000 will do.
--
Jerry Gardner, NJ6A Altos Computer Systems
UUCP: {sun|pyramid|sco|amdahl|uunet}!altos86!jerry 2641 Orchard Parkway
Internet: jerry at altos.com San Jose, CA 95134
I survived the Big One, October 17, 1989 946-6700
More information about the Comp.unix.i386
mailing list