概述无法在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堆所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容