Java Platform, Standard Edition Troubleshooting Guide
Contents    Previous    Next

System Section Format

The final section in the error log is the system information. The output is operating-system-specific but in general includes the operating system version, CPU information, and summary information about the memory configuration.

Example A-21 shows output on a Oracle Solaris 9 operating system.

On Oracle Solaris and Linux, the operating system information is contained in the file /etc/*release. This file describes the kind of system the application is running on, and in some cases the information string might include the patch level. Some system upgrades are not reflected in the /etc/*release file. This is especially true on the Linux system, where the user can rebuild any part of the system.

On Oracle Solaris operating system the uname system call is used to get the name for the kernel. The thread library (T1 or T2) is also printed.

On the Linux system the uname system call is also used to get the kernel name. The libc version and the thread library type are also printed, as shown in Example A-22.

On Linux there are three possible thread types, namely linuxthreads (fixed stack), linuxthreads (floating stack), and NPTL. They are normally installed in /lib, /lib/i686, and /lib/tls.

It is useful to know the thread type. For example, if the crash appears to be related to pthread, then you might be able to work around the issue by selecting a different pthread library. A different pthread library (and libc) can be selected by setting LD_LIBRARY_PATH or LD_ASSUME_KERNEL.

The glibc version usually does not include the patch level. The command rpm -q glibc might provide more detailed version information.

On Oracle Solaris and Linux operating systems, the next information is the rlimit information. Note: The default stack size of the VM is usually smaller than the system limit, as shown in Example A-23.

The next information specifies the CPU architecture and capabilities identified by the VM at start-up, as shown in the Example A-24 .

Table A-4 shows the possible CPU features on a SPARC system.

Table A-5 shows the possible CPU features on an Intel/IA32 system.

Table A-6 shows the possible CPU features on an AMD64/EM64T system.

The next information in the error log is memory information, as shown in Example A-25.

Some systems require swap space to be at lease twice the size of real physical memory, whereas other systems do not have any such requirements. As a general rule, if both physical memory and swap space are almost full, there is good reason to suspect that the crash was due to insufficient memory.

On Linux systems the kernel may convert most of unused physical memory to file cache. When there is a need for more memory, the Linux kernel will give the cache memory back to the application. This is handled transparently by the kernel, but it does mean the amount of unused physical memory reported by fatal error handler could be close to zero when there is still sufficient physical memory available.

The final information in the SYSTEM section of the error log is vm_info, which is a version string embedded in libjvm.so/jvm.dll. Every Java VM has its own unique vm_info string. If you are in doubt about whether the fatal error log was generated by a particular Java VM, check the version string.

Contents    Previous    Next

Copyright © 1993, 2017, Oracle and/or its affiliates. All rights reserved.