Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
top
top
In the catalina.sh of Tomcat, a number of parameters are set through the JAVA_OPTS setting. This topic gives an explanation on explains those parameters. For specific environments, these the values of the these parameters can be tailored to the corresponding your requirements. For a full description of the Java virtual machine (JVM) options see http://java.sun.com/javase/technologies/hotspot/JVMoptions.jsp.

...

This option sets the maximum heap size for the Java virtual machineVirtual Machine (JVM). XperienCentral uses memory for caching content from the database. A low value for this option can cause excessive garbage collection overhead and a lot database accesses. This option should be tuned based on the performance requirements of the application like number of concurrent users and the size of the content. If more memory is assigned to XperienCentral, more content can be cached in memory and the overhead of database access can be avoided.

Assigning more memory to the JVM will generally improve the performance. However, (excessive) swapping should be avoided as much as possible. Another drawback of a large heap is the fact that a full garbage collection will take more time. If the garbage collector uses a stop-the-world garbage collection policy, XperienCentral will be unresponsive for a longer period of time.

–Xms512m

Setting the This option sets the minimum heap size for the JMV. Setting a minimum heap size can improve startup time.

-Ddisable_2fa

Disables XperienCentral's two factor authentication.

-Djava.awt.headless=true

This option should be set to make sure the server is able to manipulated images without the presence of a display.

...

If IPv6 is available on the operating system, the underlying native socket will be an IPv6 socket. This allows Java(tm) applications to connect too, as well and accept connections from both IPv4 andIPv6 hosts. If an application has a preference to only use IPv4 sockets, then this property can be set to true. The implication is that the application will not be able to communicate with IPv6 hosts.

-Djdk.xml.xpathExprGrpLimit

This JDK system property sets the maximum number of nested groups allowed in an XPath expression. This property is used to limit the complexity of XPath expressions in order to prevent potential security vulnerabilities or performance issues that may arise from processing overly complex expressions. By default, the limit is set to 10, but it can be adjusted as needed for specific applications or use cases. GX Software recommends a value between 25 and 60.

-Djdk.xml.xpathExprOpLimit

This JDK system property sets the maximum number of operations allowed in an XPath expression. This property is used to limit the complexity of XPath expressions in order to prevent potential security vulnerabilities or performance issues that may arise from processing overly complex expressions. By default, the limit is set to 10000, but it can be adjusted as needed for specific applications or use cases. GX Software recommends a value between 400-5000.

-Djdk.xml.xpathTotalOpLimit

This JDK system property sets the maximum total number of operations allowed in all XPath expressions evaluated during the execution of an application. This property is used to limit the overall complexity of XPath expressions in order to prevent potential security vulnerabilities or performance issues that may arise from processing overly complex expressions. By default, the limit is set to 1,000,000, but it can be adjusted as needed for specific applications or use cases. GX Software recommends a value between 15,000 and 25,000.

-Dorg.jackrabbit.repositoryfile

...

The concurrent mark sweep collector should be activated using the command-line option -XX:+UseConcMarkSweepGC.


Note
titleNotes
  • This option cannot be used together with the option -XX:+UseParNewGC
Note
  • This option is deprecated in
java
  • Java 9 and higher.


-XX:+UseParNewGC

The new generations can be collected in parallel.

...

If an XperienCentral application in some cases throws an OutOfMemoryError and profiling locally doesn’t solve the problem, the JVM can be instructed to dump the contents of the heap to disk for analysis. This option should not be turned on by default on production environments because dumping the heap is stop-the-world and may take a long period of time.

...

A flaw in the implementation of a card-marking performance optimization in the JVM can cause heap corruption under some circumstances. This issue affects the CMS garbage collector prior to 6u18, and the CMS, G1 and Parallel Garbage Collectors in 6u18. The serial garbage collector is not affected. Applications most likely to be affected by this issue are those that allocate very large objects which would not normally fit in Eden or those that make extensive use of JNI Critical Sections (JNI Get/Release*Critical).


jdk.xml.xpathExprGrpLimit is a system property in the Java Development Kit (JDK) that sets the maximum number of nested groups allowed in an XPath expression. This property is used to limit the complexity of XPath expressions in order to prevent potential security vulnerabilities or performance issues that may arise from processing overly complex expressions. By default, the limit is set to 10, but it can be adjusted as needed for specific applications or use cases. The value of this property can be modified using the -D command-line option when running Java applications or by setting it programmatically using the System.setProperty() method.

25-60


jdk.xml.xpathExprOpLimit is a system property in the Java Development Kit (JDK) that sets the maximum number of operations allowed in an XPath expression. This property is used to limit the complexity of XPath expressions in order to prevent potential security vulnerabilities or performance issues that may arise from processing overly complex expressions. By default, the limit is set to 10000, but it can be adjusted as needed for specific applications or use cases. The value of this property can be modified using the -D command-line option when running Java applications or by setting it programmatically using the System.setProperty() method.

400-5000


jdk.xml.xpathTotalOpLimit is a system property in the Java Development Kit (JDK) that sets the maximum total number of operations allowed in all XPath expressions evaluated during the execution of an application. This property is used to limit the overall complexity of XPath expressions in order to prevent potential security vulnerabilities or performance issues that may arise from processing overly complex expressions. By default, the limit is set to 1000000, but it can be adjusted as needed for specific applications or use cases. The value of this property can be modified using the -D command-line option when running Java applications or by setting it programmatically using the System.setProperty() method.


15,000-25,000