Newsgroups: comp.lang.smalltalk
Path: cantaloupe.srv.cs.cmu.edu!europa.chnt.gtegsc.com!news.sprintlink.net!simtel!col.hp.com!news.dtc.hp.com!hplextra!hplb!gw
From: gw@hplb.hpl.hp.com (Gunther Walther)
Subject: Re: VW 2.0 MemoryPolicy (was: VW2.0 Slowing Down)
Sender: news@hplb.hpl.hp.com (Usenet News Administrator)
Message-ID: <DAtpn1.EM0@hplb.hpl.hp.com>
Date: Tue, 27 Jun 1995 08:45:01 GMT
References: <3rfjt4$lq8@noc.tor.hookup.net> <DA1y0p.299@hplb.hpl.hp.com> <3s5ljc$m66@gold.interlog.com> <3s71mj$jjo@maverick.tad.eds.com> <3snb0n$f4b@hustle.rahul.net>
Nntp-Posting-Host: gwalther.hpl.hp.com
Organization: Hewlett-Packard Laboratories, Bristol, England
X-Newsreader: TIN [version 1.2 PL0.7]
Lines: 44

Johnny Martin (johnnym@rahul.net) wrote:

: I recommend, setting your Windows swap space to a smaller size.

: it sounds counter-intuitive, but I've found dramatic performance improvements
: under just the conditions you describe ( I'm running VW 2.0 on Win3.11,
: pentium, 16Meg ram)

: The rational is simple:

: 1. in order to avoid starting a time intensive glocal garbage collection cycle
:    parcplace VW2.0 proceeds to use all available virtual memory (in particular,
:    it doesn't know the difference between physical and swap) and will only
:    garbage collect when it runs out of virtual memory.

: 2. Global GC kicks in when parcplace runs out of virtual memory (this rarely
:    happens to you because your application is small and there's lots of disk
:    in fact 20M of disk because that's what your Windows' swap is set to...)
:    So your application happily runs about creating more and more garbage until
:    your image takes up most of the virtual memory (physical and disk).

: 3. over time, some of the useful objects are in physical memory and some are
:    on disk (the objects are still in virtual memory, just swapped out for
:    the time being); and then, after the mouse click, just when you need 'em,
:    disk I/O occurs and the resulting swapping causes poor response time
:    performance)

: What I did..

: 1. reduce swap to a very small size (100M bytes); requires restarting Windows.
:    (note, you cannot run with "no swap file" because Win32s fails under VW2.0

(stuff deleted)

for some people 100M bytes is very little memory ;-)

A less drastic means to persuade VW to stop expanding indefinitly is:

	ObjectMemory currentMemoryPolicy
		growthRegimeUpperBound: 6000000.

for unknown reasons PP initializes this with a value close to infinity.
                                         
gunther
