(转载请注明出处:Java,JavaFX技术交流 http://javafxguy.iteye.com)
其它文章: Java虚拟机的调优参考 JavaFX 1.1和JavaFX 1.0的兼容性
接触到的一些用户反映在Linux系统中运行的Java应用,内存只能使用到2GB,在Java虚拟机中如果把-Xmx参数设置到2GB左右(约1.5-1.8GB),java进程就根本启动不了。我们通常使用的JVM都是32位的(64位的JVM会损失10-20%的性能,通常不建议使用),而32位程序的寻址空间应该是4GB才对,为什么Linux上的JVM只能使用2GB的内存呢? (注:Windows上也有类似的问题)
经过和JDK研发组的人员沟通,终于弄清楚了一些相关的原因。这个问题存在于早期的一些Linux版本中,特别是内核2.5以前的版本,2.6以后的版本就基本上没有这个问题了。原来这些Linux版本多是32位的,内核使用了2GB空间,应用进程就只有2GB了,也就是说一个地址连续的内存块大小的上限是2GB,而JVM的堆空间(heap size)需要连续的地址空间,因此,2GB就是java进程的理论使用的内存上限。
(转载请注明出处:Java,JavaFX技术交流 http://javafxguy.iteye.com)
如果java应用需要使用较大的内存,建议使用较新版本的linux,或者修改Linux的应用/内核内存比配置为3GB:1GB。还有就是选择如Solaris等的UNIX操作系统。象Solaris这样的操作系统,在内存管理上没有2GB的限制,因此可以把heap size设置到3.5-3.6GB左右。
Computer Canadian Citizenship Test
分享到:
相关推荐
本篇文章是对Linux系统中JVM内存2GB上限进行了详细的分析介绍,需要的朋友参考下
该文档描述了开发测试环境中Docker及JVM内存限制部署方案
主要是JVM内存分配及简单的JVM性能调优
jvm内存反洗工具:
(二)MATJVM 内存分析工具.MAT JVM 内存分析工具.MAT JVM 内存分析工具.(二)MATJVM 内存分析工具.MAT JVM 内存分析工具.MAT JVM 内存分析工具.
1.jvm内存结构及功能概述 2.Jvm Heap 内存结构 3.Jvm 的内存分配
JVM内存状况查看方法和分析工具,值得借鉴
jvm 内存监控
linux & JVM内存结构分析
jvm内存模型,jvm脑图,jvm调优,jvm垃圾回收算法,jvm垃圾回收器,逃逸算法等总结。
本系列课程从JVM基础到高级实战,老师手把手教你如何进行JVM调优,思路清晰,没有废话,旨在挑战高薪。 课程亮点: 1、基于阿里arthas进行JVM调优; 2、基于代码排查OOM问题,拒绝空讲; 3、总结JVM通用的调优思路;...
idea插件JVM内存工具JProfiler11,下载完,即可导入idea,可idea快捷打开使用。
Linux环境的Tomcat JVM内存优化 java虚拟机内存溢出问题的解决
JVM 内存管理之道 JVM垃圾回收机制 JVM GC组合 JVM 内存监控工具
jvm内存模型.pdf
程序运行要用到的内存大于虚拟机能提供的最大内存就发生内存溢出了, 内存溢出的问题要看业务和系统大小而定,对于某些系统可能内存溢出不常见,但某些系统还是很常见的解决的方法
java获得jvm内存大小
jvm内存结构
关于java的内存分配问题,jvm的运行原理相关资料总结
MAT JVM 内存分析工具.MAT JVM 内存分析工具.MAT JVM 内存分析工具.