[Geoserver-users] x86 Java Memory usage

Hello.

I got a question regarding memory usage on a deployed system.

VirtualMachine, win2008 x64, 4 cpu, 6gb Memory, Java x86, Geoserver 2.5.1
running inside Tomcat7.
using the following relevant options.
set JAVA_OPTS=%JAVA_OPTS% -server
set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1024m -XX:MaxPermSize=256m
-XX:PermSize=128m
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
-XX:ParallelGCThreads=4 -XX:NewRatio=2 -XX:+AggressiveOpts

All is fine but, the memory usage on the machine is as follows:
Physical Memory:
Total: 6143
Cached: 3296
Avaliable: 3398
Free:50

My question is regarding the ammount of avaliable memory VS the free.
Why is this happening? is it because of the limit on the x86 java VM ?

if someone can clarify, it will be most helpfull.

Regards,
Filipe

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/x86-Java-Memory-usage-tp5255808.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

Filipe,

"Free" is usually very small in a system that has been running for a while as memory pages are put to good use by the operating system. "Available" includes most of "Cached". What happens is that the operating system will cache files in unused memory to increase performance, in case they need to be read again. If more memory is needed for processes, the pages from "Cached" will immediately be used.

It looks like your system is using less than 3 GB memory for processes (Total - Available). You have used JRE settings to constrain Java to use less than 1300 MB internally (-Xmx1024m plus -XX:MaxPermSize=256m) plus whatever native memory is used by the JRE (executable image, native stack, and native heap, ...). There are probably about 1.5 GB of other programs running including the operating system. This looks fine to me.

Was there something there you did not expect? What is the size of the JRE process? Do you want to make it bigger?

If you use Java x64, you can increase the memory used by Java to about 4 GB (depending on how much is needed for other processes). Note also that Java 8 no longer has a PermGen.

Kind regards,
Ben.

On 11/03/16 23:48, Filipe wrote:

Hello.

I got a question regarding memory usage on a deployed system.

VirtualMachine, win2008 x64, 4 cpu, 6gb Memory, Java x86, Geoserver 2.5.1
running inside Tomcat7.
using the following relevant options.
set JAVA_OPTS=%JAVA_OPTS% -server
set JAVA_OPTS=%JAVA_OPTS% -Xms1024m -Xmx1024m -XX:MaxPermSize=256m
-XX:PermSize=128m
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseConcMarkSweepGC -XX:+UseParNewGC
-XX:ParallelGCThreads=4 -XX:NewRatio=2 -XX:+AggressiveOpts

All is fine but, the memory usage on the machine is as follows:
Physical Memory:
Total: 6143
Cached: 3296
Avaliable: 3398
Free:50

My question is regarding the ammount of avaliable memory VS the free.
Why is this happening? is it because of the limit on the x86 java VM ?

if someone can clarify, it will be most helpfull.

Regards,
Filipe

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/x86-Java-Memory-usage-tp5255808.html
Sent from the GeoServer - User mailing list archive at Nabble.com.

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

--
Ben Caradoc-Davies <ben@anonymised.com>
Director
Transient Software Limited <http://transient.nz/&gt;
New Zealand

Hello.

The size of the JRE process:
private bytes: 1300 mb
working set: 1230 mb
virtual size: 1621 mb

im placing the questions to better understand how java and geoserver uses
memory.
for two reasons:
first, from time to time, im getting a few crashes with an out of memory
exception, and the java VM, crashes.
second, im updating the current system to a better one with more hardware
and memory, latest geoserver, and configuring a load balancer in that
machine (two instances of tomcat each with one geoserver and iis as load
balancer). so im trying to understand all the values so i can correctly
configure each java VM.

The thing with the x64 java is that if i use it, i wont have the native JAI,
and from my test a while ago, the decrease in performance is relevant.

regards,
filipe

--
View this message in context: http://osgeo-org.1560.x6.nabble.com/x86-Java-Memory-usage-tp5255808p5256197.html
Sent from the GeoServer - User mailing list archive at Nabble.com.