From owner-freebsd-current@FreeBSD.ORG Sat Apr 19 17:52:08 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F183D37B401 for ; Sat, 19 Apr 2003 17:52:07 -0700 (PDT) Received: from gw.catspoiler.org (217-ip-163.nccn.net [209.79.217.163]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5CE2D43FBD for ; Sat, 19 Apr 2003 17:52:07 -0700 (PDT) (envelope-from truckman@FreeBSD.org) Received: from FreeBSD.org (scratch.catspoiler.org [192.168.101.3]) by gw.catspoiler.org (8.12.6/8.12.6) with ESMTP id h3K0psXB020260; Sat, 19 Apr 2003 17:51:58 -0700 (PDT) (envelope-from truckman@FreeBSD.org) Message-Id: <200304200051.h3K0psXB020260@gw.catspoiler.org> Date: Sat, 19 Apr 2003 17:51:54 -0700 (PDT) From: Don Lewis To: tlambert2@mindspring.com In-Reply-To: <3EA19BAA.C133A3DC@mindspring.com> MIME-Version: 1.0 Content-Type: TEXT/plain; charset=us-ascii cc: shamrock@cypherpunks.to cc: freebsd-current@FreeBSD.org Subject: Re: Broken memory management on system with no swap X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 20 Apr 2003 00:52:08 -0000 On 19 Apr, Terry Lambert wrote: > Lucky Green wrote: >> There appears to be a memory management bug that affects systems without >> swap files. Processes are killed off due to the server being "out of >> swap space" even though top shows some 800MB of "inactive" memory >> available. >> >> Apr 18 18:13:25 pakastelohi kernel: swap_pager_getswapspace: failed I ran into something similar yesterday while compiling openoffice because I hadn't noticed that geom had renamed my swap device and it was no longer being enabled. I just got the syslog message, but no processes were killed With my swap partition re-enabled and another openoffice compilation in progress: last pid: 81656; load averages: 1.23, 1.24, 1.34 up 0+16:47:02 17:47:53 50 processes: 2 running, 47 sleeping, 1 stopped CPU states: 0.0% user, 94.6% nice, 2.7% system, 2.7% interrupt, 0.0% idle Mem: 285M Active, 402M Inact, 169M Wired, 35M Cache, 111M Buf, 108M Free Swap: 2055M Total, 144K Used, 2055M Free > This is generally an attempt to get a swap mapping for backing store > for the process. It could be that all your "inactive" memory has > been spoken for. > > >> I suspect that for some reason memory listed as "inactive" by top is not >> being correctly allocated to new processes when no swapfile is >> available, since the errors do not appear until memory listed as "free" >> has dropped to about 1.5-3k. > > If you had provided a traceback, I would guess that this happened > as a call from swap_pager_reserve(), as opposed to a call from > swap_pager_strategy() or swap_pager_putpages(). This can only > happen if you are using an md device; are you using an md device > (ramdisk)? If so: cut it out, or make sure the MD_RESERVE bit is > not set. I'm not using md.