Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 28 Jul 1996 22:07:53 -0600 (MDT)
From:      Nate Williams <nate@mt.sri.com>
To:        dwhite@resnet.uoregon.edu
Cc:        "Paul J. Mech" <paul@coil.com>, questions@freebsd.org
Subject:   Re: Considering FreeBSD
Message-ID:  <199607290407.WAA20633@rocky.mt.sri.com>
In-Reply-To: <Pine.BSI.3.94.960728161842.226D-100000@gdi.uoregon.edu>
References:  <31F898AB.1DE87A12@coil.com> <Pine.BSI.3.94.960728161842.226D-100000@gdi.uoregon.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
> > 0) When Linux runs out of virtual memory, it crashes.  What is FreeBSD's
> > behavior under these conditions?
> 
> FreeBSD will start killing processes until the memory problem is resolved.
> This usually means the program that is trying to start, and working
> backward.  Occaisionally the VM system gets too busy and kills init, but
> that is very rare.

Actually, FreeBSD's VM system should *NEVER* kill init.  It specifically
protects the early ID's in the 'kill' code.

>From /sys/vm/vm_fault.c:
  if (vaddr < VM_MAXUSER_ADDRESS && curproc && curproc->p_pid >= 48) {
     printf("Process %lu killed by vm_fault -- out of swap\n", (u_long) curproc->p_pid);
     psignal(curproc, SIGKILL);

Note the curproc->p_pid >= 48, which allows low numbered process that
are generated upon bootup to be safe from the VM kill process.


Nate



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199607290407.WAA20633>