印刷ビューの終了

HotSpot VM のトラブルシューティングガイド

印刷ビュー

ドキュメント情報

はじめに

1. 診断ツールおよびオプション

2. ツールの詳細な説明

3. メモリーリークのトラブルシューティング

4. システムクラッシュのトラブルシューティング

5. ハングアップまたはループしているプロセスのトラブルシューティング

6. シグナル処理と例外処理の統合

7. バグレポートの提出

A. 環境変数とシステムプロパティー

B. コマンド行オプション

C. 致命的エラーログ

D. このリリースのツールのサマリー

はじめに

このドキュメントは、Java Platform, Standard Edition Development Kit 7 のリリース (JDK 7 リリース) を使用して開発されたアプリケーションで発生する可能性がある問題のトラブルシューティングに役立ちます。このガイドでは特に、アプリケーションと Java HotSpot 仮想マシンとの間で発生する可能性がある問題に対処します。

このリリースの JDK リリースのトラブルシューティングツールに対する変更点 (前回のリリースと比較) の一覧については、「付録 D「このリリースのツールのサマリー」」を参照してください。

このドキュメントは現在、診断やモニタリングに使用可能なツールやオプションに関する情報を提供することに焦点を当てています。現在のところ、ガベージコレクションやパフォーマンス問題の診断に関する情報は含まれていません。

デスクトップテクノロジを使用した Java アプリケーションのトラブルシューティングのヘルプについては、次のガイドを参照してください。Java SE 7 デスクトップテクノロジのトラブルシューティングガイド

Java HotSpot 仮想マシン

Java HotSpot 仮想マシンは、Java コンパイラによって生成された命令の実行環境を提供します。JDK は Java 仮想マシンの 2 つ の実装を提供します。クライアント VM とサーバー VM です。これら 2 つのシステムは基本的に、同じ実行時システムとインタフェースする、2 つの異なるジャストインタイムコンパイラです。

デフォルト実装はプラットフォームとマシンのクラスに依存します。

Java Hotspot VM の詳細は、次の場所で見つけることができます。

対象とする読者

このドキュメントの対象読者は、JDK 7 を使用する開発者と、JDK 7 で配備されたアプリケーションを保守するサポートまたは管理担当者です。

このドキュメントは、Java 仮想マシンのコンポーネントの概略を理解し、加えてガベージコレクション、スレッド、ネイティブライブラリなどの概念についてもある程度理解している読者を対象としています。さらに、Java アプリケーションのインストール先となるオペレーティングシステムについて読者が適度に習熟しているものと仮定します。

本書の構成

このドキュメントの最初の章では、JDK 7 でのトラブルシューティングに使用可能な各種診断/モニタリングツール、ユーティリティー、オプション、およびシステムプロパティーを紹介します。この章ではツールやオプションのカテゴリ別サマリーも提供します。ツールが使用可能かどうかはプラットフォーム (Solaris オペレーティングシステム (Solaris OS)、Linux、または Windows) に依存します。この章を読めば、使用可能なユーティリティーやオプションの機能がわかります。

第 2 章ではトラブルシューティングツールについて詳しく説明します。またこの章では、JDK のユーティリティーやオプションと組み合わせて使用可能な、オペレーティングシステムのツールやユーティリティーの一覧も示します。最後にこの章では、JDK で提供される API を使ってどのようにしたら新しいツールを開発できるかを詳しく説明します。

第 3 章から第 5 章では、メモリーリーク、クラッシュ、またはハングアップの問題が発生した際に試すべき手順を提示します。

第 6 章では、シグナルハンドラを使用するアプリケーションについて説明します。

最後の章では、バグレポートの提出前に試すべきことの提案、レポートの提出方法に関する指針、レポートで収集すべきデータに関する提案を提供します。

最後に、次のリファレンス領域ごとに付録があります。環境変数、コマンド行オプション、致命的エラーレポートの形式の詳細、このリリースのツールの一覧。

フィードバックと提案

トラブルシューティングは非常に重要なトピックです。このドキュメントに関するフィードバックがある場合や、将来のバージョンでカバーできるトピックについての提案がある場合は、コメントをお送りください

その他のリソース

Java 2 Platform, Standard Edition 5.0 トラブルシューティングおよび診断ガイドでは、J2SE 1.5 向けのトラブルシューティング情報が記載されています。

さらに、使用可能なオンライントラブルシューティングリソースを次に示します。

コミュニティーサポート

Java テクノロジフォーラムを使えば、多くの場合でコミュニティーからサポートを得られます。フォーラムでは情報を共有したり、問題の解決方法を見つけたりできます。フォーラムの場所は、http://forums.oracle.com/forums/category.jspa?categoryID=285 です。

表記規則

次の表は、この本で使用する表記規則を説明するものです。

表記規則
書体
意味
AaBbCc123
コマンド、ファイル、ディレクトリなどの名前。画面に表示されるコンピュータ出力
.login ファイルを編集します。

すべてのファイルを一覧表示するには ls -a を使用します。

machine_name% you have mail.

AaBbCc123
入力内容。画面に表示されるコンピュータ出力との区別
machine_name% su

Password:

aabbcc123
プレースホルダ。実際の名前や値に置き換えられる
ファイルを削除するコマンドは、rm filename です。
AaBbCc123
本のタイトル、新規用語、強調すべき用語
ユーザーズガイドの第 6 章をお読みください。

キャッシュはローカルに保存されるコピーです。

ファイルを保存しないでください

注: 強調された項目はオンラインで太字で表示されます。

コマンド例のシェルプロンプト

次の表は、Solaris OS に含まれるシェルのデフォルト UNIX システムプロンプトおよびスーパーユーザープロンプトを示したものです。コマンド例に表示されるデフォルトシステムプロンプトは、Solaris のリリースに応じて異なります。

シェルプロンプト
シェル
プロンプト
Bash シェル、Korn シェル、および Bourne シェル
$
Bash シェル、Korn シェル、および Bourne シェル (スーパーユーザー)
#
C シェル
machine_name%
スーパーユーザーの C シェル
machine_name#

関連する第三者の Web サイト参照

本ドキュメントでは第三者の URL を参照しており、この URL から追加の関連情報を取得できます。


注 - Oracle は、本ドキュメントに掲載された他社の Web サイトを利用できるかどうかについて責任を負いません。Oracle は、そのようなサイトまたはリソースから直接または間接的に利用できるいかなる内容、広告、製品、その他の物質についても保証を行うものではなく、また、責任を負うものでもありません。Oracle は、そのようなサイトまたはリソースから直接または間接的に利用できる内容、商品、サービスなどにより、またはそれらを使用あるいは信頼したことに関連して、実際に発生した損害または発生したとされる損害について、いかなる責任も負うものではありません。


謝辞

多くの方がこのガイドのために、技術的な専門知識やその他のインプットを提供してくださいました。Alan Bateman (主要貢献者)、Tim Bell (主要貢献者およびレビューア)、Stephen Bohne、Mandy Chung、Stuart Clements、Uday Dhanikonda (担当エンジニアリングマネージャー)、Christine Dorffi、Daniel Fuchs、Jim Holmlund (主要貢献者およびレビューア)、David Holmes、Karen Kinnear、Peter LaPierre、James C. Lee、Antonia Lewis (ライター)、Teresa London、Srinivas Madishetty、Keith McGuigan、Kelly O'Hair、Coleen Phillimore、Leif Samuelsson、Bill Situ、A. Sundararajan、Jesse Suen、Adam Wisnewski。

ドキュメント履歴

次の表は、このガイドの各バージョンでの変更点を追跡したものです。

バージョン日付
変更点
2006 年 12 月
最初のバージョン。
2007 年 1 月
新しいフィードバックフォーム。
2007 年 5 月
細かい修正。
2007 年 8 月
プラットフォーム別ツールサポートの修正。
2007 年 9 月
付録 D の jmap エントリに加筆。細かい修正や改善。
2008 年 11 月
Java VisualVM ツールの追加。変更されたリンクの場所を修正。
2011 年 6 月
JDK 7 向けの更新。