From: Michael B. <mbe...@mb...> - 2006-04-21 14:26:10
|
> Adam Retter wrote: > > I that a typo? Is it not 4GB on x86 due to 32bit addressing? > Alex Milowski wrote > As I understand it, a process can have 3GB... but the machine can have 4GB. > OS dependent. It's the OS that decides how much memory an app can have. And to the OS the JVM is just another app. As I understand it, the situation is: Win2K + XP. 50/50 OS./Applications split, hence 2GB maxiumum for JVM WS2003EE/DE with PAE: Up to 3 GB available to apps, but not contiguous so JVM still restricted to 2GB Linux kernel 2.4. 2GB limit on memory allocated to any one application, hence also to JVM Linux kernel 2.6 (32 bit) Kernel can be configured (and in some distros is) to allow 3GB allocation to apps, and since this is contiguous a JVM can use all of it. 2.6 kernel features can be backpatched into 2.4. I don't think Solaris has this type of restriction. Of course, it is never wise to let the JVM get its claws on all your available RAM anyway, especially not on Linux, because that can very easily push you into swap. Michael Beddow |