uCosminexus Application Server, Maintenance and Migration Guide
![[Contents]](FIGURE/CONTENT.GIF)
![[Glossary]](FIGURE/GLOSS.GIF)
![[Index]](FIGURE/INDEX.GIF)
![[Back]](FIGURE/FRONT.GIF)
9.15 Notes on using the product JavaVM functionality (in UNIX)
(1) Common in UNIX
This subsection describes the common notes in UNIX.
- Operations when the SIGXFSZ signal is received
When JavaVM receives the SIGXFSZ signal, the following message is output to the standard output and the processing continues:
Java HotSpot(TM) 64-Bit Server VM warning: File size limit exceeded.
|
However, if the upper limit of the file size is exceeded, the data is not written to the file.
- Operations when the SIGXCPU signal is received
When JavaVM receives the SIGXCPU signal, the following message is output to the standard output and the processing continues:
Java HotSpot(TM) 64-Bit Server VM warning: CPU time limit exceeded.
|
- AWT (in AIX and HP-UX)
In AIX and HP-UX, AWT of Application Server uses XToolkit (sun.awt.X11.XToolkit). Motif-based MToolkit is not supported.
(2) In AIX
This subsection describes the notes in AIX.
- Estimating the paging space
When a J2EE server and a Web container server are started, to prevent a program from stopping (SIGKILL) due to insufficient paging while the program is running, set up the environment variable PSALLOC=early that specifies the early paging space allocation for AIX in the start shell. However, if you specify PSALLOC=early in the /etc/environment file, the early paging space allocation is specified for all the processes leading to insufficient paging space. Therefore, specify the environment variable only for the shell that starts the relevant server. Also, specify the environment variable NODISCLAIM=true at the same time. For the points to be considered when you estimate the paging space for the early paging space allocation, see the AIX documentation.
- Native library search path
- When the java command is used
- When you use the java command included in Developer's Kit for Java to execute a Java program, you can specify the directory search path of the system library loaded with System.loadLibrary() in the environment variable LIBPATH, and environment variable LD_LIBRARY_PATH. The search order prioritizes LD_LIBRARY_PATH and then LIBPATH.
- When the java command is not used
- When you use the JNI to start JavaVM and execute a Java program, the directory search path of the system library loaded with System.loadLibrary() is the path specified only in the environment variable LIBPATH.
- Using the JNI to start JavaVM
Note the following points when you use the JNI to start JavaVM:
- Make sure the following AIX-specific environment variables are set up:
For csh (C shell)
setenv AIXTHREAD_MUTEX_DEBUG OFF
setenv AIXTHREAD_RWLOCK_DEBUG OFF
setenv AIXTHREAD_COND_DEBUG OFF
For sh (standard shell) and ksh
export AIXTHREAD_MUTEX_DEBUG=OFF
export AIXTHREAD_RWLOCK_DEBUG=OFF
export AIXTHREAD_COND_DEBUG=OFF
For these environment variables, see the relevant page (http://publibn.boulder.ibm.com/doc_link/Ja_JP/a_doc_lib/aixbman/prftungd/prftungd02.htm).
- Add the following paths to the environment variable LIBPATH and then execute the start program:
/opt/Cosminexus/jdk/jre/lib/ppc64
/opt/Cosminexus/jdk/jre/lib/ppc64/server
Note that the environment variable LIBPATH need not be set up when these paths are specified as the linkage options for generating the start program.
- Font path
The fonts displayed with the GUI are searched from the system font path. If the program for changing the system font path is executed before Developer's Kit for Java starts, the GUIs might be displayed incorrectly. Furthermore, the system font path is also changed by Developer's Kit for Java. Therefore, the GUIs might be incorrectly displayed with the programs such as the ones that search the system font path after Developer's Kit for Java starts.
Specify the following settings before and after starting Developer's Kit for Java, to return the system font path to the default status:
- Program starting time
The server VM (Java HotSpot Server VM) implements the Java virtual machine for Developer's Kit for Java. Compared to the earlier client VM (Java HotSpot Client VM) version, the program execution speed is generally high for the server VM, but the starting of the J2EE server programs might become slow. To start the programs quickly, specify the following option. However, when you specify this option, the execution speed of the program might become slower than normal.
-XX:CompileThreshold=3000
|
- Notes on migrating from the 32-bit JavaVM (Application Server Version 7 and Version 8) to the 64-bit JavaVM (Application Server Version 9)
As compared to the 32-bit JavaVM, the availability of a large address space is an advantage with the 64-bit JavaVM. Also, the pointer value of objects is 32 bits in the 32-bit JavaVM and 64 bits in the 64-bit JavaVM. Therefore, when you migrate from the 32-bit JavaVM to the 64-bit JavaVM, you must review the applications, memory tuning, and the environment. Note the following and then execute the migration process:
- Increased object access cost
The pointer value of the object changes from 32 bit to 64 bit, so the access to the object doubles at the maximum. The execution performance of applications that frequently access the objects might be affected with the 64-bit JavaVM.
- Increased Java heap memory size
The pointer value of the object changes from 32 bit to 64 bit, so the size per object doubles at the maximum. As a result, the memory size of the Java heap used by the application also increases.
- Increase in the memory size used by a process
With 64-bit JavaVM, the memory size used by the processes also increases apart from the Java heap memory size. The method of estimating the memory size used by the processes is the same as the method of estimating the core file size. For details on the estimation method, see 3.3.18(1) Setting the maximum size of core files.
- JNI compatibility
A native program created as a 32-bit binary and invoked with the JNI cannot be operated on the 64-bit JavaVM. Also, the 32-bit and 64-bit native programs cannot be operated concurrently in one process. Therefore, when using a native program invoked with the JNI, you must re-compile that program for the 64-bit JavaVM.
(3) In HP-UX
This subsection describes the notes for HP-UX.
- JNI library search path
- When the java command is used
- When you use the java command included in Developer's Kit for Java to execute a Java program, the directory search path of the system library loaded with System.loadLibrary() is the path specified in the environment variables SHLIB_PATH and LD_LIBRARY_PATH. The search order prioritizes SHLIB_PATH and then LD_LIBRARY_PATH.
- When the java command is not used
- When you use the JNI to start JavaVM and execute a Java program, the directory search path of the system library loaded with System.loadLibrary() is the path specified only in the environment variable SHLIB_PATH.
- JVMTI library search path
- When the java command is used
- When you use the java command included in Developer's Kit for Java to execute a Java program, the directory search path of the system library loaded with System.loadLibrary() is the path specified in the environment variable SHLIB_PATH, environment variable LD_LIBRARY_PATH, and -agentpath. The search order prioritizes SHLIB_PATH, LD_LIBRARY_PATH, and then -agentpath.
- When the java command is not used
- When you use the JNI to start JavaVM and execute a Java program, the directory search path of the system library loaded with System.loadLibrary() is the path specified in the environment variable SHLIB_PATH and -agentpath. The search order prioritizes SHLIB_PATH and then -agentpath.
(4) In Linux
This subsection describes the notes for Linux.
- Font-related messages
When you start a GUI application on a non-console remote terminal such as the X server, the following messages might be output:
Warning: Cannot convert string
"-monotype-arial-regular-r-normal--*-140-*-*-p-*-iso8859-1" to type FontStruct
|
To avoid this, use the xfs command to start the font server, use the xset command on the X server, and then specify the font server in the font path. At this time, make sure that the missing font path is specified in the font server configuration file.
All Rights Reserved. Copyright (C) 2013, Hitachi, Ltd.