Java Platform, Standard Editionトラブルシューティング・ガイド
目次      

システム・セクションの形式

エラー・ログの最後のセクションは、システム情報です。 その出力はオペレーティング・システムに固有ですが、一般にオペレーティング・システムのバージョン、CPU情報、およびメモリー構成に関するサマリー情報を含みます。

例A-21は、Oracle Solaris 9オペレーティング・システムでの出力を示しています。

例A-21 エラー・ログ内のシステム情報

---------------  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

Oracle SolarisおよびLinuxの場合、オペレーティング・システム情報はファイル/etc/*releaseに含まれます。 このファイルは、アプリケーションが実行されているシステムの種類について説明し、場合によっては情報文字列にパッチ・レベルが含まれることもあります。 /etc/*releaseファイルには一部のシステム・アップグレードが反映されません。 ユーザーがシステムの任意の部分を構築し直せるLinuxシステムの場合は、特にそうなります。

Oracle Solarisオペレーティング・システムでは、unameシステム・コールを使用してカーネルの名前を取得します。 スレッド・ライブラリ(T1またはT2)も出力されます。

Linuxシステムの場合もunameシステム・コールを使ってカーネル名が取得されます。 例A-22に示すように、libcのバージョンとスレッド・ライブラリのタイプも出力されます。

例A-22 エラー・ログのスレッド・ライブラリ・タイプ

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       -->|

Linuxの場合、可能なスレッド・タイプは3つあります(具体的にはlinuxthreads (fixed stack)linuxthreads (floating stack)、およびNPTL)。 これらは通常、/lib、/lib/i686、および/lib/tlsにインストールされます。

スレッド・タイプを知ることは有用です。 たとえば、クラッシュがpthreadに関係しているように見える場合、別のpthreadライブラリを選択すれば問題を回避できる可能性があります。 別のpthreadライブラリ(およびlibc)を選択するには、LD_LIBRARY_PATHまたはLD_ASSUME_KERNELを設定します。

glibcのバージョンには通常、パッチ・レベルは含まれません。 コマンドrpm -q glibcを実行すると、より詳しいバージョン情報が得られる可能性があります。

Oracle SolarisおよびLinuxオペレーティング・システムでは、その次の情報はrlimit情報です。 ノート: 例A-23に示すように、VMのデフォルトのスタック・サイズは通常、システムの制限より小さくなっています。

例A-23 エラー・ログのrlimit情報

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

その次の情報は、例A-24に示すように、起動時にVMによって識別されたCPUのアーキテクチャと機能を指定します。

例A-24 エラー・ログ内のCPUアーキテクチャと機能

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

表A-4は、SPARCシステムで可能なCPU機能を示しています。

表A-4 SPARCの機能

SPARCの機能 説明

has_v8

v8命令をサポートします。

has_v9

v9命令をサポートします。

has_vis1

視覚化命令をサポートします。

has_vis2

視覚化命令をサポートします。

is_ultra3

UltraSparc III。

no-muldiv

ハードウェア整数乗除なし。

no-fsmuld

Multiply-AddおよびMultiply-Subtract命令なし。


表A-5は、Intel/IA32システムで可能なCPU機能を示しています。

表A-5 Intel/IA32の機能

Intel/IA32の機能 説明

cmov

cmov命令をサポートします。

cx8

cmpxchg8b命令をサポートします。

fxsr

fxsaveとfxrstorをサポートします。

mmx

MMXをサポートします。

sse

SSE拡張をサポートします。

sse2

SSE2拡張をサポートします。

ht

ハイパースレッディング・テクノロジをサポートします。


表A-6は、AMD64/EM64Tシステムで可能なCPU機能を示しています。

表A-6 AMD64/EM64Tの機能

AMD64/EM64Tの機能 説明

amd64

AMD Opteron、Athlon64など。

em64t

Intel EM64Tプロセッサ。

3dnow

3DNow拡張をサポートします。

ht

ハイパースレッディング・テクノロジをサポートします。


エラー・ログ内のその次の情報は、例A-25に示すように、メモリー情報です。

例A-25 エラー・ログのメモリー情報

                                                  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)

一部のシステムではスワップ空間が実際の物理メモリーの少なくとも2倍であることを要求しますが、そのような要件を持たないシステムもあります。 一般に、物理メモリーとスワップ空間の両方がほぼいっぱいになっていれば、クラッシュの原因としてメモリー不足を疑って良いでしょう。

Linuxシステムではカーネルが、未使用の物理メモリーの大部分をファイル・キャッシュに変換する場合があります。 追加のメモリーが必要になると、Linuxカーネルはキャッシュ・メモリーをアプリケーションに戻します。 この処理はカーネルによって透過的に行われますが、それは、使用可能な物理メモリーがまだ十分存在するにもかかわらず、致命的エラー・ハンドラが報告する未使用物理メモリーの量がゼロに近くなる可能性があることを意味します。

エラー・ログのSYSTEMセクション内の最後の情報はvm_infoで、これはlibjvm.so/jvm.dllに埋め込まれたバージョン文字列です。 どのJava VMも一意のvm_info文字列を持ちます。 特定のJava VMによって致命的エラー・ログが生成されたのかどうかを疑問に思う場合には、バージョン文字列をチェックしてください。

目次      

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