1

アプリケーションの MapDB を評価しています。以下の方法でDBを作成します。

DB db = DBMaker.fileDB(new File("mapdbtest1")).cacheHashTableEnable()
                .cacheSize(50000).closeOnJvmShutdown()
                .encryptionEnable("password").make();

50000 個のオブジェクトを DB に配置してから GC を明示的に呼び出した後、使用されるサイズが小さすぎて、オブジェクトがメモリ キャッシュに存在しないように見えます。私はキャッシュサイズを期待していませんでした。GC や OOM に関係なく、常にメモリ内に存在するオブジェクトの数と、残りのオブジェクトがスワップされます。

=======================
Memory : after committing to DB
free memory: 1426 MB
allocated memory: 2860 MB
used memory: 1433 MB
max memory: 3641 MB
total free memory: 2207 MB
=======================
=======================
Memory : after gc
free memory: 2479 MB
allocated memory: 2494 MB
used memory: 14 MB
max memory: 3641 MB
total free memory: 3626 MB
=======================

私の理解は間違っていますか?

4

0 に答える 0