Richard Richard.Leto
Your machine seems to be 2.xGB RAM and a single CPU system (more so is that a Virtual Machine). If we are going to beat the life out of a system, we also need to ensure the system is geared to take the beating.
Some tips.
The overall max you can use with a 32-bit JVM is OS/JVM dependent. Typically on Windows it’s about 1696MB.
On a server machine I recommend you set the min and the max to the same (upper) value. This has a couple of benefits. First, it’s generally faster because you don’t lose any time for the JVM resizing. In addition, in cases where you aren’t completely sure that the meory will be available, this let’s you know immediately that the program doesn’t have enough memory, because it will refuse to even start. You can test this by starting enough applications that you’re down to less than 1GB of free memory, then typing:
java -Xms1024m -Xmx1024m HelloWorld
For performance issues, max memory should be 500MB less then your total real memory on Windows
http://codecurmudgeon.com/wp/2012/05/java-memory-settings-jvm-heap-size/
On the 32-bit Windows platform, JVM programs can only ever use up to about 1.5–1.6 GiB of memory in RAM per Java VM process. Allocating a heap size greater than this amount does not work.
https://sinewalker.wordpress.com/2007/03/04/32-bit-windows-and-jvm-virtual-memory-limit/
Oracle claims that for
Windows 98/2000/NT/Me/XP | 2 GB |
http://docs.oracle.com/cd/E19159-01/819-3681/abeii/index.html
Maximum heap size for 32 bit or 64 bit JVM looks easy to determine by looking at addressable memory space like 2^32 (4GB) for 32 bit JVM and 2^64 for 64 bit JVM. Confusion starts here because you can not really set 4GB as maximum heap size for 32 bit JVM using -Xmx JVM heap options. You will get could not create the Java virtual machine Invalid maximum heap size: -Xmx error. There could be many different reason why maximum heap space for JVM is less than there theoretical limit and vary from one operating system to other e.g. different in Windows, Linux and Solaris.
http://javarevisited.blogspot.com/2013/04/what-is-maximum-heap-size-for-32-bit-64-JVM-Java-memory.html
A lot of back and forth:
http://stackoverflow.com/questions/1434779/maximum-java-heap-size-of-a-32-bit-jvm-on-a-64-bit-os
Kindly tune the SmSPSProxyEngine.Properties (Though not much could be done as it is 32bit Java).
a good start (example):
Set NETE_SPS_PROXYENGINE_CMD="%NETE_SPS_JAVA_HOME%\bin\java.exe" -Xms1024m -Xmx1228m -XX:MaxPermSize=256M in the Proxy Engine properties
Another thing you could try is increase the RAM to 4GB and the number of CPUs to 4 or 8 CPU.
Alternatively we also have Enhancement Request to support 64bit on SPS.
Regards
Hubert