ヒープ・ダンプ・ディレクトリーの構成

ヒープ・ダンプ・ファイルを解析すると、メモリー問題のトラブルシューティングに役立つ場合があります。

ヒープ・ダンプ・ファイルを解析すると、メモリー問題のトラブルシューティングに役立つ場合があります。Cassandraは、-XX:+HeapDumpOnOutOfMemoryErrorオプションを付けてJavaを開始します。このオプションを使用することで、メモリー不足状態の時にヒープ・ダンプがトリガーされます。ヒープ・ダンプ・ファイルは、ヒープをオーバーフローさせる原因となったオブジェクトへの参照で構成されます。Cassandraは、サービスとして実行されているときは、このファイルをデフォルトで作業ルート・ディレクトリーのサブディレクトリーに置きます。Cassandraにこのルート・ディレクトリーへの書き込み権限がない場合、ヒープ・ダンプは失敗します。このルート・ディレクトリーが小さすぎてヒープ・ダンプを収容できない場合、そのサーバーはクラッシュします。

ヒープ・ダンプを正常に行い、クラッシュを防ぐには、以下の要件を満たすようにヒープ・ダンプ・ディレクトリーを構成してください。

  • Cassandraがアクセスして書き込みできる
  • ヒープ・ダンプを収容できる十分な大きさにする
cassandra-env.shファイルの場所は、インストールのタイプによって異なります。
パッケージ・インストール /etc/cassandra/cassandra-env.sh
tarボール・インストール install_location/conf/cassandra-env.sh
cassandra-env.ps1の場所:
Windowsインストール C:\Program Files\DataStax Community\apache-cassandra\conf\cassandra-env.ps1

このディレクトリーのサイズは、Javaの-mxオプションの値に基づいて設定します。

手順

ヒープ・ダンプの場所は、cassandra-env.shファイルで設定されます。

  1. cassandra-env.shファイルを開いて編集します。
    set jvm HeapDumpPath with CASSANDRA_HEAPDUMP_DIR
  2. ヒープ・ダンプ・パスのコメントまでスクロール・ダウンします。
    set jvm HeapDumpPath with CASSANDRA_HEAPDUMP_DIR
  3. コメントの以下の行で、CASSANDRA_HEAPDUMP_DIRを、使用するパスに設定します。
    set jvm HeapDumpPath with CASSANDRA_HEAPDUMP_DIR CASSANDRA_HEAPDUMP_DIR =<path>
  4. cassandra-env.shファイルを保存して再起動します。