nodetool leaksdetection
メモリー・リークのトラッキングを有効にして構成します。
cassandra.yaml
cassandra.yamlファイルの場所は、インストールのタイプによって異なります。パッケージ・インストール | /etc/dse/cassandra/cassandra.yaml |
tarボール・インストール | installation_location/resources/cassandra/conf/cassandra.yaml |
debug.log
-
system.logファイルの場所は次のとおりです。 /var/log/cassandra/debug.log
system.log
system.logファイルの場所は:- /var/log/cassandra/system.log
メモリー・リークのトラッキングを有効にして構成します。トラッキング情報は、リークが検出された場合、 debug.log およびsystem.log のスタック・トレースとともに提供されます。
現在追跡されているリソースは次のとおりです。
- CachedReadsBufferPool
- チャンク・キャッシュに格納されているファイル・チャンクによって使用される非ブロッキングi/o(NIO)バイト・バッファー。チャンク・キャッシュは、ファイル・キャッシュとも呼ばれます。
- DirectReadsBufferPool
- 一部の分散ファイル読み取りなど、一時的で短期的な操作に使用されるNIOバイト・バッファー。
- ChunkCache
- チャンク・キャッシュ内のファイル・チャンク。チャンク・キャッシュは、ファイル・キャッシュとも呼ばれます。
- Memory
- ネイティブ・メモリーはmalloc呼び出しで直接アクセスされるため、JVMによって管理されません。現在、圧縮メタデータ、ブルーム・フィルター、および行キャッシュに使用されています。 注: DSE 6.x以降では行キャッシュを無効にする必要があります。
memtableがオフヒープ・オブジェクトを使用している場合は、次のリソースも追跡できます。
- NativeAllocator
- memtableの割り当てタイプがオフヒープ・オブジェクトの場合にmemtableに使用されるメモリ。
構文
nodetool [connection_options] leaksdetection [--set_max_stack_depth number] [--set_max_stacks_cache_size number] [--set_num_access_records number] [--set_sampling_probability number] [resource]
構文規則 | 説明 |
---|---|
大文字 | リテラル・キーワード。 |
小文字 | リテラル以外。 |
Italics |
変数値。有効なオプションまたはユーザー定義値と置き換えます。 |
[ ] |
任意。角かっこ( [] )で任意のコマンド引数を囲みます。角かっこは入力しないでください。 |
( ) |
グループ。丸かっこ(( ) )は、選択肢を含むグループを示します。丸かっこは入力しないでください。 |
| |
または。縦棒(| )で代替要素を区切ります。要素のいずれかを入力してください。縦棒は入力しないでください。 |
... |
繰り返し可能。省略記号(... )は、構文要素を必要な回数だけ繰り返すことができることを示します。 |
'Literal string' |
単一引用符( ' )でCQL文内のリテラル文字を囲みます。大文字を維持するには、単一引用符を使用します。 |
{ key:value } |
マップ・コレクション。中かっこ( { } )でマップ・コレクションまたはキーと値のペアを囲みます。コロンでキーと値を区切ります。 |
<datatype1,datatype2> |
セット、リスト、マップ、またはタプル。山かっこ(< > )で、セット、リスト、マップまたはタプル内のデータ型を囲みます。データ型をカンマで区切ります。 |
cql_statement; |
CQL文の終了。セミコロン( ; )ですべてのCQL文を終了します。 |
[ -- ] |
コマンドライン・オプションとコマンド引数は、2つのハイフン(-- )で区切ります。この構文は、引数がコマンドライン・オプションと間違われる可能性がある場合に役立ちます。 |
' <schema> ...</schema> ' |
検索CQLのみ:単一引用符( ' )でXMLスキーマ宣言全体を囲みます。 |
@xml_entity='xml_entity_type' |
検索CQLのみ:スキーマ・ファイルおよびsolrconfigファイル内のXML要素を上書きする実体とリテラル値を示します。 |
定義
短い形式と長い形式のパラメーターはカンマで区切られています。
接続オプション
- -h, --host hostname
- リモート・ノードのホスト名またはIPアドレス。省略した場合、デフォルトはローカル・マシンです。
- -p, --port jmx_port
- JMXポート番号。
- -pw, --password jmxpassword
- セキュアなJMXで認証するためのJMXパスワード。パスワードを入力しないと、入力するように求められます。
- -pwf, --password-file jmx_password_filepath
- JMX認証用の資格情報を格納するファイルへのファイルパス。
- -u, --username jmx_username
- セキュアなJMXで認証するためのユーザー名。
コマンド引数
- --set_max_stack_depth number
- 収集されたスタック・トレースの深さ。パラメーターが設定された時点から収集されたスタック・トレースの深さのみ変更します。スタックが深いほど、一意性が高くなるため、深さを上げる場合は、
stacks_cache_size_mb
を増やす必要があります。 - --set_max_stacks_cache_size_mb number
- 呼び出しスタック・トレースの最大サイズ。リークしたリソースのデバッグ、およびヒープ・メモリーの使用にはスタック・トレースが使用されます。最大スタック・キャッシュ・サイズをMB単位で設定することによって、各リソース専用のヒープ・メモリーの量を設定します。
- --set_num_access_records number
- リソースがアクセスされる時点で保持されているスタック・トレースの平均数。現在、キャッシュ内のチャンクに対してのみサポートされています。
- --set_sampling_probability number
- 指定されたリソースについて追跡されるサンプリング確率。
- 0 - 追跡を無効
- 1 - 常に追跡を有効
- 0~1の数字 - リソースをランダムに追跡する時間の割合。たとえば、
0.1
と指定した場合、時間の10%でリソースが追跡されます。
注意: 追跡を行うと、アクセスのたびにスタック・トレース収集に大きな負担が掛かり、ヒープ・スペースを消費します。追跡を有効にする場合は、必ず、DataStaxサポートの指示を受けてください。 - resource
- パラメーターの適用先のリソース。指定しない場合、パラメーターはすべてのリソースに影響します。
例
現在のメモリー・リーク検出ステータスを出力します
nodetool leaksdetection結果:
Current Status:
CachedReadsBufferPool/ByteBuffer - Sampling probability: 0.000000, Max stacks cache size MB: 32, num. access records: 0, max stack depth: 30
DirectReadsBufferPool/ByteBuffer - Sampling probability: 0.000000, Max stacks cache size MB: 32, num. access records: 0, max stack depth: 30
ChunkCache/Chunk - Sampling probability: 0.000000, Max stacks cache size MB: 32, num. access records: 0, max stack depth: 30
Memory/Memory - Sampling probability: 0.000000, Max stacks cache size MB: 32, num. access records: 0, max stack depth: 30
サンプリング確率をメモリー・リソースの25%に設定します
nodetool leaksdetection --set_sampling_probability .25 Memory結果:
Current Status:
CachedReadsBufferPool/ByteBuffer - Sampling probability: 0.000000, Max stacks cache size MB: 32, num. access records: 0, max stack depth: 30
DirectReadsBufferPool/ByteBuffer - Sampling probability: 0.000000, Max stacks cache size MB: 32, num. access records: 0, max stack depth: 30
ChunkCache/Chunk - Sampling probability: 0.000000, Max stacks cache size MB: 32, num. access records: 0, max stack depth: 30
Memory/Memory - Sampling probability: 0.100000, Max stacks cache size MB: 32, num. access records: 0, max stack depth: 30.