Date: Mon, 7 Oct 2002 15:35:30 +1000 (EST) From: Bruce Evans <bde@zeta.org.au> To: Mikhail Teterin <mi+celsius@aldan.algebra.com> Cc: n0g0013 <ttz@blahdeblah.demon.co.uk>, <current@FreeBSD.ORG> Subject: Re: panic: kmem_malloc(4096): kmem_map too small Message-ID: <20021007151049.U27957-100000@gamplex.bde.org> In-Reply-To: <200210070041.01468.mi%2Bcelsius@aldan.algebra.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 7 Oct 2002, Mikhail Teterin wrote: > No... With today's kernel, machine has already _frozen_ after swappager > complained about lack of swap. Rather sad -- a not so uncommon installation > with 128Mb of memory plus twice that much of swap would still have less > virtual memory than this box, which seems to be suffering because all its > memory is real... > > BTW, what happened to the NO_SWAPPING kernel option? Nothing. I always use it, and it just works. Note that it only disables swapping (of UPAGES) and has little effect on paging to swap, and was never intended to. This is is documented very clearly in cvs history and very unclearly in NOTES: %%% RCS file: /home/ncvs/src/sys/vm/vm_glue.c,v Working file: vm_glue.c head: 1.157 ... ---------------------------- revision 1.39 date: 1996/02/22 10:57:36; author: davidg; state: Exp; lines: +4 -3 Add a "NO_SWAPPING" option to disable swapping. This was originally done to help diagnose a problem on wcarchive (where the kernel stack was sometimes not present), but is useful in its own right since swapping actually reduces performance on some systems (such as wcarchive). Note: swapping in this context means making the U pages pageable and has nothing to do with generic VM paging, which is unaffected by this option. Reviewed by: <dyson> ---------------------------- NOTES: ... # # Disable swapping. This option removes all code which actually performs # swapping, so it's not possible to turn it back on at run-time. # # This is sometimes usable for systems which don't have any swap space # (see also sysctls "vm.defer_swapspace_pageouts" and # "vm.disable_swapspace_pageouts") # #!options NO_SWAPPING %%% I doubt that swapping is useful for many systems that are newer than the commit that added NO_SWAPPING. If there aren't many processes then swapping doesn't do much, and if there are a lot of processes (as on wcarchive), then you don't want to swap. The memory for the UPAGES of wcarchive's 1500 (?) processes was a whole 12MB. Much larger number of processes are common now, but memories are larger too. Work is under weigh (sic) to bloat the number of UPAGES (including kernel stack pages) and the number of processes (there are almost 100 in the kernel alone now), but hopefully it won't progress as fast as memories grow. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20021007151049.U27957-100000>