In this section: How to: |
You can configure Java Services to add JSCOM3 listener, which is required to support and monitor Java-based adapters and functionality, such as GRAPH. You can fine tune server performance.
The Java Services Configuration pane opens, as shown in the following image.
You can enter values on the Java Services Configuration pane for Basic and Advanced settings, JVM Settings, and the Classpath. For information on JVM Settings, see How to Fine Tune JVM Settings From the Web Console.
Basic
Defines the logical name for the node block.
Defines the TCP port number that the listener is listening on.
Defines the IP address that the listener is listening on.
Defines the minimum number of new connections which can be accepted during the life of each Java server process. A Java server which has reached the limit will be terminated, and a new Java server will be started. To use this feature, you must configure more than one Java server (using NUMBER_READY) to prevent service gaps. It is ignored if only one Java server is configured.
Defines the number of Java servers that the Workspace Manager will create at startup. The first server will listen on the PORT defined in the node. Each additional server will listener on an incremental port, for example, PORT + 1, PORT + 2, etc.
Advanced
Defines the number of Graph Service Agents that each Java server will create at startup.
Enables JAVA environment to support Flex. It should be set to "0" ONLY if there is a conflict between the CLASSPATH objects.
Classpath
Defines the additional Java Class directories or full path jar names which will be available for Java Services.
In this section: |
You can fine-tune the server to optimize performance.
A Java Services folder on the Workspace Configuration navigation pane enables you to create and manage multiple client connections to JSCOM3, thereby supporting redundancy and load balancing, as well as the ability to refresh JSCOM3 instances while ensuring that at least one connection is always available.
Java exceptions are displayed in the edaprint.log file, and JVM version and path information is displayed in the edaprint.log file and on the Java Services Configuration pane.
You can obtain better memory usage performance in production servers by properly tuning the JVM heap and stack sizes using three options on the JVM Settings tab of the Java Services Configuration pane. These options set initial Java heap size, maximum Java heap size, and Java thread stack size. The options update the odin.cfg file. For related information, see Editing Configuration Files.
Before setting these parameters, it is useful to understand the following relationships.
Heap Size
JSCOM3 is the server interface to the JVM. When you start JSCOM3, you can specify memory allocation for the JVM using the -X options shown in the following table.
JVM option passed to JSCOM3 |
Description |
---|---|
-Xms |
Determines the initial (minimum) Java heap size. |
-Xmx |
Determines the maximum Java heap size |
Heap size does not determine the amount of memory your process uses. As you monitor your Java process, you may notice that the amount of memory used exceeds the amount you have specified for -Xmx. This occurs because -Xmx limits the Java heap size and may allocate memory for other things, including a stack for each thread. Therefore, the total memory consumption of the JVM may exceed the value of -Xmx.
Stack Size
Each thread in the JVM is assigned a stack. The stack size limits the number of threads you can use. If the stack size is too large, you risk running out of memory since each thread is allocated more memory than it needs.
The following chart describes the JVM Option passed to JSCOM3.
JVM option passed to JSCOM3 |
Description |
---|---|
-Xss |
Determines the stack size for each thread. You can make this value as low as 1K: -Xss1K. However, if the stack space is too small, you will eventually see an exception class java.lang.StackOverflowError. |
Controlling Heap and Stack Size
JSCOM3 uses default values for the minimum (initial) and maximum heap sizes and for the stack size of each thread. To improve performance, you can override the JSCOM3 default settings using the initial Java heap size, maximum Java heap size, and Java thread stack size options. For details, see How to Fine Tune JVM Settings From the Web Console.
You can also choose the Force Finalization option on the Java Services menu, which assists in memory management by releasing memory that is not currently in use by the Java Virtual Machine (JVM).
Defines the initial Java heap size in megabytes (MB), which reflects the minimum amount of memory that is already being used.
Supply a positive integer number.
Defines the maximum Java heap size in megabytes (MB).
Supply a positive integer number.
Note: With server-side Java applications like JSCOM3, it is good practice to set the initial (minimum) and maximum heap sizes to the same value.
Defines the Java thread stack size in kilobytes (KB).
Supply a positive integer number.
Defines the additional JVM options. This is the parameters that can affect the performance characteristics of the JVM.
Defines the additional JVM properties. This is a platform-independent generalization of the system environment variables.
iWay Software |