Symantec Access Management

 View Only
  • 1.  SPS CPU utilization 100%

    Posted May 19, 2015 04:53 PM

    Hi All,

     

       We are running load test on our SPS Server which is configured for Virtual Hosts Rules. Under Load CPU utilization goes for JAVA*32 till 100% mostly, I tried running a tool called JProfiler attaching few of the screen shots:

     

    Hope that makes sense, looking at the stacks can we do something so that the CPU Utilization doesn't goes this high.

     

    Thanks in Advance.



  • 2.  Re: SPS CPU utilization 100%
    Best Answer

    Posted May 20, 2015 01:57 AM

    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