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

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

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

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

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

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

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

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-24に示すように、起動時にVMによって識別されたCPUのアーキテクチャと機能を指定します。

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

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

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

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

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

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

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

目次      

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