我试图给Netbeans的jvm分配超过1 gb的内存,但没有成功。我有一个非常庞大的maven项目要做,netbeans在所有项目打开后立即耗尽内存。
我在做Gentoo linux
Linux myHost 3.2.12-gentoo #3 SMP Mon Jul 2 14:27:56 CEST 2012 i686
Intel(R) Xeon(R) CPU E31245 @ 3.30GHz GenuineIntel GNU/Linux
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 129570
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 129570
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited我的盒子的记忆是:
# cat /proc/meminfo
MemTotal: 16585504 kB
MemFree: 11731232 kB
...当我设置-J-Xmx3024m时,我会得到以下消息:
/opt/netbeans-7.2/bin/netbeans
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.谢谢!
发布于 2012-12-03 22:50:34
您可以参考Maximum Java heap size of a 32-bit JVM on a 64-bit OS,了解如何确定最大堆大小的限制。这并不意味着如果您的计算机上有99 on的RAM,您就可以将比方说90G分配给JVM
此外,这取决于您有多少空闲内存,您的操作系统,然后是netbeans,您的服务器,它们也将需要一些内存量。您只能将可用的内存量分配给JVM
消息Could not reserve enough space for object heap表示3024 MB不可用于分配。试着减少它
在linux上,每个进程允许的最大内存是3 is。尽管您不能将其全部分配给jvm堆,因为它也需要用于premGem等的内存。我在上面提到的帖子中说,他成功地使用了2.2 gb。
https://stackoverflow.com/questions/13685402
复制相似问题