メモリーの管理

DSE In-Memory(DSEインメモリー)を使用する際の空きメモリーの管理方法。

DataStax Enterpriseは分散環境で実行されるため、空きメモリーを超える過度のデータを不注意で追加する可能性があります。

DSE In-Memory(DSEインメモリー)を使用する際は、空きメモリーを監視し、慎重に管理する必要があります。

OpsCenterを使用して、インメモリーの使用状況を監視できます。

DSE In-Memory(DSEインメモリー)でデータベースの永続性保証を維持します。

推奨される限度

RAMの容量を超えないように、DataStaxでは、インメモリー・オブジェクトが使用する容量を、ノードの空きメモリーの45%未満にすることを推奨しています。

空きメモリーの管理

メモリーの最大容量を超えた場合は、データの一部をメモリーにロックする操作が停止し、読み取りパフォーマンスが低下して、警告メッセージが表示されます。

警告メッセージは以下のようになります。

WARN  [main] 2015-03-27 09:34:00,050  MemoryOnlyStrategy.java:252 - File 
MmappedSegmentedFile(path='/data/ks/test-f590c150b95911e4b66d85e0b6fd73a5/ks-test-ka-94-Data.db', 
length=43629650) buffer address: 140394485092352 length: 43629650 could not be locked.  
Sizelimit (1048576) reached. After locking size would be: 43630592

空きメモリーの確認

dsetool inmemorystatusコマンドを使用して、現在メモリー内にあるデータの量を確認します。データサイズが、指定されたMax Memory to Lockの値を超える場合、または何らかの他の問題が発生している場合は、Couldn't Lock列にその値が表示されます。system.logファイルに、問題の解決に役立つ情報が提供されます。

dsetool inmemorystatus
Max Memory to Lock:                             1MB
Current Total Memory Locked:                    0MB
Current Total Memory Not Able To Lock:         46MB
Keyspace              ColumnFamily                   Size     Couldn't Lock   Usage
mos_ks                testmemory                      0MB              46MB      0%
mos_ks                testmemory2                     0MB               0MB      0%
mos_ks                testmemory4                     0MB               0MB      0%
mos_ks                testmemory3                     0MB               0MB      0%