我在 JNI 的 Java 应用程序中使用了 kyotocabinet 数据库。本机内存无限增长,直到进程被 OOM 内核杀手杀死。
我跟踪了 malloc 调用,如下所示:
90%~ 分配,来自库而不是 JVM 本身。
我用参数启动数据库:
msiz=512m
pccap=265m
bnum=5m
dfunit=8
有人能指出我正确的方向吗?我该如何限制这种分配或强制将内存释放回操作系统?
我在 JNI 的 Java 应用程序中使用了 kyotocabinet 数据库。本机内存无限增长,直到进程被 OOM 内核杀手杀死。
我跟踪了 malloc 调用,如下所示:
90%~ 分配,来自库而不是 JVM 本身。
我用参数启动数据库:
msiz=512m
pccap=265m
bnum=5m
dfunit=8
有人能指出我正确的方向吗?我该如何限制这种分配或强制将内存释放回操作系统?