Maximum memory usage

VA Smalltalk is a "100% VisualAge compatible" IDE that includes the original VisualAge technology and the popular VA Assist and WidgetKit add-ons.

Moderators: Eric Clayberg, wembley, tc, Diane Engles, solveig

Maximum memory usage

Postby Michael Keppler » Tue May 25, 2010 9:53 pm

Hi all,

I'm using VAST 7.5.1 and to me it looks like the virtual machine cannot allocate more than 1 GB objects (that is, memory shown in the memory consumption monitor, not in the task manager). Am I right in that?
I use it on a Windows XP machine with plenty of RAM available, but it seems that it always crashes, if I reached that 1 GB mark (independent of where in my application this happens). Are there any settings for changing this behaviour (I already have changed several of the memory related command line options to work with larger segments and so on).

EDIT: Our command line arguments are
Code: Select all
-mn5000000 -mi50000000 -mc20000000 -ml20000000
. This has proven to make Smalltalk execution about twice as fast as with the standard arguments (at least, when I last measure 2 or 3 years ago). Might this be a source of the problem, as there exists this post desribing problem with similar symptomes?

Ciao, Michael
Michael Keppler
Posts: 28
Joined: Wed Feb 27, 2008 4:33 am

Re: Maximum memory usage

Postby Michael Keppler » Wed May 26, 2010 2:09 am

To answer my own question: If the mi argument is reduced from 50 MB to 10 MB, then the out of memory indeed happens at more than 1.1 GB RAM usage, so it looks like the memory fragmentation is my main problem (besides the application using to much memory).
Michael Keppler
Posts: 28
Joined: Wed Feb 27, 2008 4:33 am

Re: Maximum memory usage

Postby waynej » Thu May 27, 2010 9:52 am

I don't know about fragmentation, or VA's memory consumption manager. The number I know about is 2GB, and that's as seen in the Windows Performance monitor (perfmon). Pick a performance object of Process, pick your abt.exe or whatever, and Virtual Bytes. Note how this number is higher than "Mem Usage" or "VM Size" in the regular Task Manager.
Posts: 32
Joined: Wed Apr 18, 2007 9:18 am

Re: Maximum memory usage

Postby wembley » Fri May 28, 2010 8:29 am

Total application memory on Windows 32-bit systems is limited to either 2GB or 3GB (if you have large addressing enabled in Windows).

Subtract from that number the size of all loaded .exe and .dll files, all memory-mapped files, and a few other things (use Sysinternals Process Monitor to look at the details).

This number is the maximum amount of dynamic memory that you can possibly allocate (explicitly or implicitly) in Smalltalk. But not all this memory is actually usable since there is always fragmentation (space between dll's) that is too small to satisfy an allocation request. However, this number will at least give you some idea of what is available to you. In later releases of VA Smalltalk we do a better job of allocating dll load addresses to reduce this fragmentation, tbut it will still be there unless you explicitly rebase some of the Windows dlls also.
John O'Keefe [|], Principal Smalltalk Architect, Instantiations Inc.
Posts: 405
Joined: Mon Oct 16, 2006 3:01 am
Location: Durham, NC

Return to VA Smalltalk 7.0, 7.5 & 8.0

Who is online

Users browsing this forum: No registered users and 1 guest