On Jan 15, 2009, at 10:19 PM, Tobias Zimmerman wrote:

How does
the OS determine what to allocate for the VSIZE.

You'll get a better answer on the darwin-dev mailing list, but basically, the VSIZE is the total amount of VM address space allocated, which includes shared pages (typically shared libraries) and memory allocations. In Leopard, it's normal for a 32-bit non-GC app to start with a ~580 MB VSIZE, which is taken up by shared pages and other mallocs performed by the standard libraries, the runtime, dyld, etc. It's also normal for 64-bit apps to start with a ~2.7 GB VSIZE for the same reason. Both numbers go up a bit if you turn on GC, because the collector allocates a few hundred megabytes (32-bit) or 32 GB (64-bit) of VRAM for itself.

If you want more detailed stats on a process, then check out the vmmap tool, which will show you where all of that VM is going in a process.

One answer suggested that
64-bit apps will receive 8GB, but I note that the Apache daemon (httpd) runs in 64-bit mode and is allocated on a few tens-of-megabytes (around 25MB per instance on my machine). Is that because it does not have a GUI and is not
written in Obj-C?


I've seen this, too, and I've been wondering about that, and suspect it might have something to do with the way the process was forked, because GCC does the same thing. Again, ask on darwin-dev...

Nick Zitzmann
<http://www.chronosnet.com/>

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to