From mboxrd@z Thu Jan 1 00:00:00 1970 To: 9fans@cse.psu.edu From: "John S. Dyson" Message-ID: Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit References: <20011029123819.DCCD7199E4@mail.cse.psu.edu> Subject: Re: [9fans] Virtual memory in BSD and Plan9 Date: Tue, 30 Oct 2001 15:22:16 +0000 Topicbox-Message-UUID: 107cddd6-eaca-11e9-9e20-41e7f4b1d025 rob@plan9.bell-labs.com (rob pike) wrote in message news:<20011029123819.DCCD7199E4@mail.cse.psu.edu>... > I'm a radical here, but I think if a machine is paging, you've lost. > To me, VM is a pretty technique for memory management in the kernel, > something distinct from paging, which is a way to get the system > through temprorary overshoots in memory demand. > In these days of 'inexpensive memory', I tend to agree with you, BUT: VM is also a good tool to push out long unused pages so that they can also be used for caching and other helpful purposes. This is akin to the 'temporary overshoot' issue, but slightly more active. I have noticed in alot of cases, that such 'temporary overshoots' still cause systems to thrash too much, trying to find the correct working sets. Some of the VM work in FreeBSD (not necessarily the whole package), does alot of work to avoid the thrashing. A system that is continually paging, even if the VM mgmt is really good, will often not be a very friendly acting system. The key to the VM code is to make sure that in reasonable cases, the system isn't continually paging. Finding the reasonable working sets in a global sense (local sense only causes less efficient behavior), so that paging activity is minimized or converges to nil. It is easy to define a 'finding' that the system will never actively page, and assume that a system with 'insufficient' memory isn't well configured. This is a valid 'finding', but certainly can make the OS VM less robust in a performance sense. This is not necessarily a terrible thing. John