I'd like to have my VM always start up with (say) 200MB memory. I've tried:
squeak.exe -memory: 200 myImage.image but it still shows up with 56M memory usage (in windows task manager). Am I doing something wrong? Mis-interpreting what I see? Thanks ... Sophie |
> Behalf Of itsme213
> Sent: Friday, May 30, 2008 10:12 AM > To: [hidden email] > Subject: [squeak-dev] How to control start-up memory on Windows XP > > I'd like to have my VM always start up with (say) 200MB > memory. I've tried: > > squeak.exe -memory: 200 myImage.image > > but it still shows up with 56M memory usage (in windows task manager). > > Am I doing something wrong? Mis-interpreting what I see? > > Thanks ... Sophie That doesn't mean use 200 megs of ram, it means use no more than 200 megs of ram. Ramon Leon http://onsmalltalk.com |
Ramon Leon wrote:
>> Behalf Of itsme213 >> Sent: Friday, May 30, 2008 10:12 AM >> To: [hidden email] >> Subject: [squeak-dev] How to control start-up memory on Windows XP >> >> I'd like to have my VM always start up with (say) 200MB >> memory. I've tried: >> >> squeak.exe -memory: 200 myImage.image >> >> but it still shows up with 56M memory usage (in windows task manager). >> >> Am I doing something wrong? Mis-interpreting what I see? >> >> Thanks ... Sophie >> > > That doesn't mean use 200 megs of ram, it means use no more than 200 megs of > ram. maybe it was the other way around... Karl |
In reply to this post by Ramon Leon-5
On May 30, 2008, at 10:52 AM, Ramon Leon wrote: >> That doesn't mean use 200 megs of ram, it means use no more than >> 200 megs of > ram. > > Ramon Leon > http://onsmalltalk.com For the curious when the VM starts up it allocates space based on the image file size plus 100,000. When it asks the VM platform specific image memory allocation routine to allocate this memory then different things happen. For unix based VMs (OS-X) we generally use mmap() to allocate a chunk of virtual memory. Now the question is how big? That is set by some sort of startup parm which indicates how much. Before 32bit clean VMs (check your VM) if you allocated a size >= 1GB you ran the risk of having the operating system allocate that memory (for it's own reasons) above the 2 GB boundary which would promptly crash the VM. With a 32bit clean VM this is not a problem, however historically VM might have a 512MB upper limit to avoid the situation above. Ok since my image is 50MB what happens on unix systems? Well we allocate 512MB of virtual memory then we read in the 50MB and set the upper soft boundary to about 54MB, the 4MB being a growHeadroom memory bound that is set in the VM. There is a growHeadroom bound (4MB) and shrinkHeadroom (8MB) if space free goes below the shrinkHeadroom we allocate more by moving the bounary, if space free goes over 8MB we lower the boundary. Thus memory management is just moving a pointer. Of course if you run into the 512MB hard ceiling you run out of memory. In some operating systems this might mean asking the operating system for more or giving back memory. I don't claim to know what Windows does.... Other interesting things here, is some versions of the squeak netscape browser plugin which run as subtasks in the browser would have a memory ceiling set by the HTML where you could specify a total amount of memory to use, or memory to use based on percent or addition to the image size. This does not apply to the current os-x browser plugin btw since it now runs as a seperate process and feeds display data to the browser. Measuring What the tools report are totals for everything, the image is a small part, and as you see on Windows it seems to accurately report what is happening. But on os-x a quick test shows 950MB virtual allocated, but 22.89 mb as private and 29.84 mb as real The 22.89 private shows the image usage (15 MB image), the 29.84 mb that and space for code etc. Since I"m only asking for 512MB of virtual who know why os-x thinks 950mb of virtual is what I wanted... However as a BSD system it doesn't really allocate that anywhere, it just optimistically implies I might want/ get that but that might not be allowed if I actually tried to use it. -- = = = ======================================================================== John M. McIntosh <[hidden email]> Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com = = = ======================================================================== |
Free forum by Nabble | Edit this page |