Ashkan Rahmani wrote:
...

Application is under heavy developing, app has some page ( I call it page,
I don't know java or serverlet) with very high latency occurs for now, some
times we got out of memory error message.
This is test server with windows 2003 x86 and tomcat 6.x. Chief developer
believe Linux maybe solve this problem.

What is his/her reason to believe this ?

We need some good reason to install
and configure centos.
It seems application need more memory than 1.5GB. If set more memory like 2
or 3GB tomcat fail to start.


Now we're getting some data.

If you are using a 32-bit (Windows) OS, then the maximum memory which you can 
allocate
 *per process* is somewhere around 2.5 GB.
For Tomcat (or rather, the Java VM process), that includes the Heap and all other memory that the JVM process needs (code, stack, etc.). Under Linux 32-bit, you'd probably get closer to 3 GB max (which may explain what your main developer is saying).

Under any 64-bit OS (Windows or Linux), the maximum memory per process is much higher (practically unlimited). All things being equal then, if memory is your problem, and you are currently running under a 32-bit Windows, your easiest migration may be to a 64-bit Windows OS, if your hardware supports it.

Now, if your application is such that you need to set the Java memory resources so high to run it, then I would have even more of a look at the application. Stop for a moment to think at what these numbers really mean : 2 GB = 2,147,483,648 bytes. That is enough to store 268,435,456 64-bit integers. What application needs 268 million integers in memory ? (Surely, you do not really have one big array of 268 million integers, and there are also pointers and strings and objects and code and many instances of your app, but still, it is worth really wondering.)








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

Reply via email to