From owner-freebsd-questions Sun Jul 28 21:08:07 1996 Return-Path: owner-questions Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id VAA29173 for questions-outgoing; Sun, 28 Jul 1996 21:08:07 -0700 (PDT) Received: from rocky.mt.sri.com (rocky.mt.sri.com [206.127.76.100]) by freefall.freebsd.org (8.7.5/8.7.3) with ESMTP id VAA29165 for ; Sun, 28 Jul 1996 21:08:03 -0700 (PDT) Received: (from nate@localhost) by rocky.mt.sri.com (8.7.5/8.7.3) id WAA20633; Sun, 28 Jul 1996 22:07:53 -0600 (MDT) Date: Sun, 28 Jul 1996 22:07:53 -0600 (MDT) Message-Id: <199607290407.WAA20633@rocky.mt.sri.com> From: Nate Williams To: dwhite@resnet.uoregon.edu Cc: "Paul J. Mech" , questions@freebsd.org Subject: Re: Considering FreeBSD In-Reply-To: References: <31F898AB.1DE87A12@coil.com> Sender: owner-questions@freebsd.org X-Loop: FreeBSD.org Precedence: bulk > > 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