-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Shawn,

On 1/4/19 12:20, Shawn Heisey wrote:
> On 1/3/2019 6:40 PM, ark...@tutanota.com wrote:
>> The strange part is I was able to set a max memory in the
>> tomcat9w.exe configuration tool to about 1600 Megabytes and that
>> was the hitting of the wall on that setup (the original physical
>> one that I p2v'd to a VM), I can set less ram, but I cannot set
>> it more than 1600 otherwise when I try to start the tomcat
>> service in services.msc it will just crap outs.
> 
> Tomcat itself is not 32 bit or 64 bit.  It is *Java* that
> determines this.
> 
> If you have a 32-bit Java, then that Java cannot address more than
> 2GB of memory, and this likely includes memory that Java requires
> beyond the Java heap size itself.

In a 32-bit process space, there are 4GiB worth of addressable memory,
but Windows typically splits that space into two chunks of 2GiB each:
one for the OS's usage and one for the application's usage. That means
that the application can only address/allocate a maximum of 2GiB, and
for Java that means, as you say, both heap and "other stuff".

> This is a limitation that can only be overcome by running a 64-bit 
> Java.  Naturally this requires a 64-bit operating system, which 
> requires a 64-bit CPU.
You can also adjust the OS/app split to be 1GiB/3GiB, but usually it's
not worth it when 64-bit is a possibility.

> For the server side, readily available Intel processors have been
> all 64-bit since 2005.  For the client side, readily available
> Intel processors have been all 64-bit since 2006.  If you've
> purchased a computer in the last ten years, it is virtually
> guaranteed to have 64-bit hardware.

Oddly enough, AMD produced the first x86-64 chips back in 2003 when
Intel was betting on IA64 which is now all but dead. The relationship
between Intel and AMD over the years has been ... interesting.

Sun released the UltraSPARC in 1995, and it was beautiful. And it ran
Java. I'm not sure when a 64-bit JVM was availabile for it, though. I
*think* there was a Windows build for it, but nobody cared.

And never forget the DEC Alpha which was released in 1992, and also a
thing of beauty. I'm not sure exactly when the 64-bit JVM became
available for the Alpha, but it was ... long ago.

64-bit computing has been around for *decades* at this point. OS
vendors are dropping 32-bit support all overt the place. There really
is no reason to stick with 32-bit at this point.

> I think it was either Java 9 or Java 10 where Oracle stopped
> making 32-bit versions easy to find.
> 
> Run a 64-bit Java.  You won't have any memory limits.

+1

You still have the physical limit, but meh. RAM is cheap.

- -chris
-----BEGIN PGP SIGNATURE-----
Comment: Using GnuPG with Thunderbird - https://www.enigmail.net/

iQIzBAEBCAAdFiEEMmKgYcQvxMe7tcJcHPApP6U8pFgFAlwxEyIACgkQHPApP6U8
pFgiohAAhCF5rb5Izqbh5DOmlAhqpWLPwHnw5PuI2Hlgdx57QVitLfXNCnwIu0YW
ptgMP+rcYRjtgmY1xvHqjAlnRX3XXoIVV1IcALgc+85mlXtO32whQ8ciRkOTipvx
x08d6pIPHr4NqQeDoJllU7Mc9Xxm2bc1kY4DYgzSPnXyYYu7rVpKvSSufzylu78x
6MjgfczwwQYJvVQLJ2RdkRn9P7t9K7CZEng0DnBUQfQHeIZzjNumrmegAWZM/iTO
2Vr82DRXNidOjlN7TJ6zt0oUIOWmL2kJ/WC5p2GHdC4xkVJb/0oRD+4lJMSyDoLP
lB5G6uDrD5Zi4JUG1kDOH2Os42s7ph1dUHKZomzCaKWXBT1bkmRVYpUEMYTTH1d6
P8B6XG+S/cTzQ/2a22EW+P2mNUQ7VAOOUJZ0Cd1rMwCUacDWZq0n3uGcTbtp7+2X
Jjpug5xXhURdcWLi7ZWdB739JnmdBBr0RRbE+tPpJ0lIA3eXj/HRsEv0zsF+Mmta
McGWe//x3dHUEiKO4I9+M9uwVcXdwIEoi1WawDiRUtBu1t9WwQcqjr9JMnTQgzc5
yEXZhz2RO9fe4roRAQXuh9bWZD1sqV44V2a1/eHIa+TQ+MGpTpIjF1gfBxkvn/QB
x30xmAFDQn1dYXIE9IMWkjo8h0xWBA8oVQkou/e8zjsa5b3WRcg=
=rfHP
-----END PGP SIGNATURE-----

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to