无法在64位Linux上预留9g堆【JAVA教程】

!
也想出现在这里? 联系我们
信息

无法在64位Linux上预留9g堆,第1张

概述无法在64位Linux上预留9g堆

似乎我坚持分配内存到我的Java虚拟机在linux服务器上。

我正在使用这个命令来testing:

java -Xmx9g -xms6g -d64 -server

服务器上的内存:

[root@….~]$ free -m total used free shared buffers cached Mem: 16017 1058 14958 1 41 758 -/+ buffers/cache: 259 15758 Swap: 1498 0 1498

Ulimit设置:

在windows限制共享内存(C ++)

linux:如何获得进程使用的交换?

读取文件到内存最快的技术?

访问/ dev / mem的权限

分配“临时”内存(在linux中)

core file size (blocks,-c) 1 data seg size (kbytes,-d) unlimited scheduling priority (-e) 0 file size (blocks,-f) unlimited pending signals (-i) 128053 max locked memory (kbytes,-l) unlimited max memory size (kbytes,-m) unlimited open files (-n) 64000 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) 128053 virtual memory (kbytes,-v) unlimited file locks (-x) unlimited

linux版本是SUSE linux Enterprise Server 11(x86_64)。

Java版本:

java version \”1.7.0_45\” Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08,mixed mode)

我发现它实际上仍然与-Xmx8330m一起使用,但不再使用-Xmx8331m。 我不知道这里发生了什么,为什么我被限制在这个特定的内存分配?

编辑:确切的错误信息是这样的:

root@…..:/root> java -d64 -Xmx9g -server 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.

谢谢! 印

我怎么知道这段内存是全零的?

linux“free -m”:总计,已用和空闲的内存值不加起来

在linux上search进程的内存

linux的munmap不工作(或至less不能立即工作)

C ++使用MSVC ++ 2005在windows上的内存问题和诊断

只是一个更新,供将来参考:我已经将交换空间更改为8Gb,现在它工作没有任何问题。 所以看起来JVM在分配堆时计算交换空间。

干杯,印地语

总结

以上是内存溢出为你收集整理的无法在64位Linux上预留9g堆全部内容,希望文章能够帮你解决无法在64位Linux上预留9g堆所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

© 版权声明
THE END
喜欢就支持一下吧
点赞66 分享
评论 抢沙发

请登录后发表评论

    请登录后查看评论内容