Documentation Contents
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.

Example A-21 System Information in the Error Log

---------------  S Y S T E M  ---------------

OS:                       Oracle Solaris 9 12/05 s9s_u5wos_08b SPARC
           Copyright 2005 Sun Microsystems, Inc.  All Rights Reserved.
                        Use is subject to license terms.
                           Assembled 21 November 2005

uname:SunOS 5.9 Generic_112233-10 sun4u  (T2 libthread)
rlimit: STACK 8192k, CORE infinity, NOFILE 65536, AS infinity
load average:0.41 0.14 0.09

CPU:total 2 has_v8, has_v9, has_vis1, has_vis2, is_ultra3

Memory: 8k page, physical 2097152k(1394472k free)

vm_info: Java HotSpot(TM) Client VM (1.5-internal) for Oracle Solaris-sparc, 
built on Aug 12 2005 10:22:32 by unknown with unknown Workshop:0x550

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.

Example A-22 Thread Library Type in the Error Log

uname:Linux 2.4.18-3smp #1 SMP Thu Apr 18 07:27:31 EDT 2002 i686
libc:glibc 2.2.5 stable linuxthreads (floating stack)
    |<- glibc version ->|<--  pthread type       -->|

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.

Example A-23 rlimit Information in the Error Log

rlimit: STACK 8192k, CORE 0k, NPROC 4092, NOFILE 1024, AS infinity
             |          |         |           |           virtual memory (-v)
             |          |         |           +--- max open files (ulimit -n)
             |          |         +----------- max user processes (ulimit -u)
             |          +------------------------- core dump size (ulimit -c)
             +---------------------------------------- stack size (ulimit -s)
load average:0.04 0.05 0.02

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

Example A-24 CPU Architecture and Capabilities in the Error Log

CPU:total 2 family 6, cmov, cx8, fxsr, mmx, sse
          |        | |<----- CPU features ---->|
          |        |
          |        +--- processor family (IA32 only):
          |                3 - i386
          |                4 - i486
          |                5 - Pentium
          |                6 - PentiumPro, PII, PIII
          |               15 - Pentium 4
          +------------ Total number of CPUs

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

Table A-4 SPARC Features

SPARC Feature Description

has_v8

Supports v8 instructions.

has_v9

Supports v9 instructions.

has_vis1

Supports visualization instructions.

has_vis2

Supports visualization instructions.

is_ultra3

UltraSparc III.

no-muldiv

No hardware integer multiply and divide.

no-fsmuld

No multiply-add and multiply-subtract instructions.


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

Table A-5 Intel/IA32 Features

Intel/IA32 Feature Description

cmov

Supports cmov instruction.

cx8

Supports cmpxchg8b instruction.

fxsr

Supports fxsave and fxrstor.

mmx

Supports MMX.

sse

Supports SSE extensions.

sse2

Supports SSE2 extensions.

ht

Supports Hyper-Threading Technology.


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

Table A-6 AMD64/EM64T Features

AMD64/EM64T Feature Description

amd64

AMD Opteron, Athlon64, and so forth.

em64t

Intel EM64T processor.

3dnow

Supports 3DNow extension.

ht

Supports Hyper-Threading Technology.


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

Example A-25 Memory information in the Error Log

                                                  unused swap space
                              total amount of swap space        |
                   unused physical memory            |          |
total amount of physical memory       |              |          |
     page size              |         |              |          |
           v                v         v              v          v
Memory: 4k page, physical 513604k(11228k free), swap 530104k(497504k free)

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

Oracle and/or its affiliates Copyright © 1993, 2016, Oracle and/or its affiliates. All rights reserved.
Contact Us