【发布时间】:2012-12-08 23:03:08
【问题描述】:
我认为这是一个普遍问题,但如果它有帮助,我将在具有 16GB RAM 的 Mac OS X 10.8 上运行 LucidDB 数据库 (0.9.4)。数据库软件主要用Java编写,部分用C++编写。当我将缓冲池大小增加到 1GB 时,出现以下错误。
java(669,0xfc621000) malloc: * mmap(size=16777216) 失败(错误代码=12) 错误:无法分配区域 ** 在 malloc_error_break 中设置断点进行调试
我相信缓冲池使用共享内存,因此我将最大可用共享内存(kern.sysv.shmmax、kern.sysv.shmall)增加到 2GB。我还将 Java 堆大小(Xms、Xmx)增加到 1536MB。我被卡住了,有什么提示吗?
【问题讨论】:
-
您使用的是 32 位 Java 虚拟机还是 64 位虚拟机?
-
@LouisWasserman 地址太大,不能 32 位。
-
嗯?不,这是一个 32 位地址。
-
是的,我使用的是 32 位 JVM。
标签: java c++ macos malloc mmap