From owner-freebsd-hackers Mon May 6 19:11:40 2002 Delivered-To: freebsd-hackers@freebsd.org Received: from pintail.mail.pas.earthlink.net (pintail.mail.pas.earthlink.net [207.217.120.122]) by hub.freebsd.org (Postfix) with ESMTP id 722FB37B407 for ; Mon, 6 May 2002 19:11:32 -0700 (PDT) Received: from pool0679.cvx21-bradley.dialup.earthlink.net ([209.179.194.169] helo=mindspring.com) by pintail.mail.pas.earthlink.net with esmtp (Exim 3.33 #2) id 174uRu-0006de-00; Mon, 06 May 2002 19:11:30 -0700 Message-ID: <3CD73796.365A3440@mindspring.com> Date: Mon, 06 May 2002 19:10:30 -0700 From: Terry Lambert X-Mailer: Mozilla 4.7 [en]C-CCK-MCD {Sony} (Win98; U) X-Accept-Language: en MIME-Version: 1.0 To: Paul Saab Cc: freebsd-hackers@freebsd.org Subject: Re: swap_pager_getswapspace: failed References: <20020506111950.T50903-100000@fw.cgn.icom> <3CD6B7E1.F1616DDE@mindspring.com> <20020506221346.GA268@elvis.mu.org> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Paul Saab wrote: > Terry Lambert (tlambert2@mindspring.com) wrote: > > Bogdan TARU wrote: > > > (1 zillion x) swap_pager_getswapspace: failed > > > > > > Could you tell me why I do get this? We're talking about a very idle > > > machine, used only for development (CVS + postgresql + about 16 httpd > > > apaches -- MaxClients). RAM: 512, Swap 512. I've never seen more than 12MB > > > of swap in use. And, more puzzling: why do I get this in sysctl, and not > > > in a log? > > > > See /var/log/messages and/or "dmesg" and/or look at your console. > > > > The reason you get these messages is that you are out of kernel > > virtual address space to provide mappings for swap. > > > > 512M + 512M = 1G... how big is your KVA? > > What are you smoking? The machine is out of swap space, not KVA. He's seeing "a zillion of them". See the swp_pager_getswapspace()/swp_sizecheck() interaction ("swap_pager_full = 2"/"swap_pager_full = 0"). Then look in kern/subr_blist.c at blist_alloc(), at where SWAPBLK_NONE can be returned. The toggling necessary for "a zillion" can only happen if he's bouncing between above the high water mark and below the low water mark on amount used. I did neglect one case... where he would also be getting "a zillion"... but he'd also be getting killed processes out the ying-yang, in that case, and he didn't report any (maybe he just omitted to give us the information, though). Processes starting and dying would account for the bounce. But... he also says he never sees more than 12M of swap in use. Personally, I think he might be using up the available KVA space by fragging it with tons of shared memory segments. We still have not seen the output of "ipcs -a" and "ipcs -M" after boot and right before the crash. -- Terry To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message