# Dgraphコア・ダンプ・ファイルの管理

まれにDgraphがクラッシュすると、Dgraphではディスク上にコア・ダンプ・ファイルを書き込みます。Dgraphのコア・ダンプ・ファイルには、`ulimit -c unlimited`設定を使用することをお薦めします。無制限のコア・ファイルには、メモリー内に常駐するすべてのDgraphデータが含まれます(DgraphプロセスのRSS)。

Dgraphが大規模なデータ・セット上で実行されている場合、メモリー内に格納されている索引ファイルのサイズが、物理RAMのサイズを超える可能性があります。このようなDgraphが失敗すると、ディスク上に非常に大きいコア・ダンプ・ファイルを書き出す必要がある場合があります。コア・ファイルは、Dgraphが起動したディレクトリに書き込まれます。

Dgraphをトラブルシューティングする場合、通常、このような障害の結果として書き出されたコア・ファイルのセット全体を保存しておくと役立ちます。十分なディスク領域がない場合、このプロセスが停止するまで、ファイルの一部のみがディスクに書き込まれます。最も有益なトラブルシューティング情報はコア・ファイルの最後の部分に含まれるため、これらのファイルをトラブルシューティング目的で利用するには、ファイルの全体を取得するのに十分なディスク領域をプロビジョニングしておくことが重要です。

目的に応じて次の2つの状況が考えられます。

- 十分なディスク領域をプロビジョニングする余裕がある場合。

  大規模なアプリケーションは、使用可能なRAMの量全体を占める可能性があります。このため、Dgraphコア・ダンプ・ファイルも大きくなり、ディスク上の物理RAMのサイズに、メモリー内のサーバー・データ・ファイルのサイズを加えた領域を占めることがあります。Dgraphのクラッシュをトラブルシューティングするには、コア・ファイルのセット全体を取得するのに十分なディスク領域をプロビジョニングします。この場合、ファイルは保存されますが、ディスクがいっぱいになる可能性があります。

  注意: `ulimit -c unlimited`を設定していない場合、どのコア・ファイルもディスクに書き込まれないDgraphクラッシュが発生する可能性があります。これは、一部のLinuxインストールでは、`ulimit -c`のデフォルトが0に設定されているためです。
- コア・ファイルの保存に割り当てるディスク領域の量を制限する場合。

  ディスクがいっぱいになることを回避するには、`ulimit -c <size>`コマンドを使用して、オペレーティング・システム・レベルでこれらのファイルのサイズを制限できますが、これはお薦めしません。この方法で制限サイズを設定した場合、コア・ファイルが存在することによりDgraphがクラッシュしていることは確認できますが、コア・ファイルをデバッグに使用することはできません。この場合、大規模なDgraphアプリケーションでは、コア・ファイルの一部のみがディスクに保存されます。これにより、デバッグ目的での有用性が制限される可能性があります。この場合にクラッシュをトラブルシューティングするには、この設定を`ulimit -c unlimited`に変更し、コア・ファイル全体の取得中にクラッシュを再生します。同様に、クラッシュをトラブルシューティングするサポートを有効にするには、完全なコア・ファイルの取得中にクラッシュを再生する必要があります。