Date: Sat, 31 Aug 2002 17:04:05 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: "Marc G. Fournier" <scrappy@hub.org> Cc: Arnvid Karstad <arnvid@karstad.org>, <bmah@FreeBSD.ORG>, <freebsd-stable@FreeBSD.ORG> Subject: Re: Problems with FreeBSD - causing zalloc to return 0 ?! Message-ID: <200209010004.g81045O1010756@apollo.backplane.com> References: <20020831200929.C14642-100000@mail1.hub.org>
next in thread | previous in thread | raw e-mail | index | archive | help
:> the swap bitmap. You can also reduce the kernel reservation for :> swap block data by setting the kern.maxswzone boot environment :> variable. This is in bytes, e.g. in /boot/loader.conf :> :> kern.maxswzone="32m" : :What exactly does this one mean? Or do? Will set it, but am curious ... When FreeBSD swaps something to swap space it has to record the (object,blockno)->swapblockno translation in order to be able to figure out how to swap the page back in when a fault is taken. This information is recorded in the swap zone. Approximate memory usage, including overhead, is around 6 bytes per page swapped out. A 32M KVM reservation (KVM, not physical ram) will thus allow around 5 million pages == 22 GB to be swapped out. The actual reservation is based on the amount of physical memory on the machine but I've been way too generous in the past and I am still too generous. Until the commit I made today the KVM meta storage limit for swap information was 70MB of KVM. In commits I made today I reduced the limit to 32MB of KVM and cut the calculation of the actual swap zone based on physical memory in half (again). This parameter only matters on machines with large amounts of ram (> 1GB or so) since machines with less memory will calculate a smaller maximum as a matter of course. In anycase, we still do not know whether your particular problem is related to KVM exhaustion or not. Your kernel config does not seem particularly problemsome. Those live GDB commands I mentioned are the best way to find out (well, a core is the best way to find out but the GDB commands will work if no core is available). Generally speaking recent FreeBSD 4.x releases have been chewing up more KVM due to new features and a general push to properly balance resources to give installations the most bang for the buck. It works very well for nearly all installations but it will still break down if someone makes huge changes in certain defaults and does not reduce other areas of KVM use to make up the difference. -Matt Matthew Dillon <dillon@backplane.com> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200209010004.g81045O1010756>