メモリーの管理
DSE In-Memory(DSEインメモリー)を使用する際の空きメモリーの管理方法。
DataStax Enterpriseは分散環境で実行されるため、空きメモリーを超える過度のデータを不注意で追加する可能性があります。
DSE In-Memory(DSEインメモリー)を使用する際は、空きメモリーを監視し、慎重に管理する必要があります。
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%