Return to BSD News archive
Newsgroups: comp.os.386bsd.questions Path: sserve!newshost.anu.edu.au!munnari.oz.au!constellation!news.uoknor.edu!ns1.nodak.edu!plains.NoDak.edu!tinguely From: tinguely@plains.NoDak.edu (Mark Tinguely) Subject: Re: Swap staying full? Sender: usenet@ns1.nodak.edu (Usenet login) Message-ID: <CFz3ny.KL6@ns1.nodak.edu> Date: Thu, 4 Nov 1993 15:14:22 GMT References: <2b9g97$93g@terminator.rs.itd.umich.edu> Nntp-Posting-Host: plains.nodak.edu Organization: North Dakota State University Lines: 34 In article <2b9g97$93g@terminator.rs.itd.umich.edu> altitude@css.itd.umich.edu (Alex Tang) writes: >Hi all. I'm wondering if i should be worried about this. >I'm running NetBSD-0.8 on a machine with 5 meg ram. When I do large builds, >my swap (10 megs) gets pretty full. Unfortunately, if, when the build is >finished, the swap is 87% full, it stays 87% full, and if i try to do another >build, it gets to 100% full. and then it hangs. More information is required...what else is running. The current VM does not push dirty non-text pages onto the swap backstore unless new physical pages are needed and all physical pages are being used. The pages from the other running programs are one-by-one pushed out to make room for the new pages. If a page that has been put on the swap backstore is placed back in physical memory, the backstore copy is not removed. Lately, I have been thinking if this is a good thing or not. The way I reason if the swap store size is less than physical memory (a stupid thing to do, but this was the default in 386bsd installation procedure), then this is a bad thing because the page may not be the one to be squeezed back to swap backstore before a page that has never been put to backstore yet causing a pre-mature swap depletion hang. If the swap backstore size is greater than physical memory, this does not matter, and the cost of the making and breaking the pager values is a waste. but I digress. when the program end, the pages associated with the program on the backstore will be removed from the backstore. the remaining entries in the swap should be associated with the applications still running. To make a short story long ... as I said in the first line, check what else is running. There are some people looking in improving the VM for *BSD. But in the meantime use the following work arounds. If you are running large applications (such as X), then try to kill them before the large builds, or buy more ram/add more swap. --mark.