Linux系统中JVM内存2GB的限制
来源:互联网 发布:软件系统的定义 编辑:程序博客网 时间:2024/06/05 00:22
有些用户反映在Linux系统中运行的Java应用,内存只能使用到2GB,在Java虚拟机中如果把-Xmx参数设置到2GB左右(约1.5-1.8GB),java进程就根本启动不了。我们通常使用的JVM都是32位的(64位的JVM会损失10-20%的性能,通常不建议使用),而32位程序的寻址空间应该是4GB才对,为什么Linux上的JVM只能使用2GB的内存呢?
经过和JDK研发组的人员沟通,终于弄清楚了一些相关的原因。这个问题存在于早期的一些Linux版本中,特别是内核2.5以前的版本,2.6以后的版本就基本上没有这个问题了。原来这些Linux版本对进程有个对内存2GB的限制,是一个地址连续的内存块大小的上限,而JVM的堆空间(heap size)需要连续的地址空间,因此,2GB就是java进程的理论使用的内存上限。
(转载请注明出处:Java,JavaFX,Solaris技术交流 http://developers.sun.com.cn/blog/henry/)
如果java应用需要使用较大的内存,建议使用较新版本的linux,或者修改Linux的应用/内核内存比配置为3GB:1GB。还有就是选择如Solaris等的UNIX操作系统。象Solaris这样的操作系统,在内存管理上没有2GB的限制,因此可以把heap size设置到3.5-3.6GB左右。
- Linux系统中JVM内存2GB的限制
- 详解Linux系统中JVM内存2GB上限
- oracle在32位的Linux环境下SGA如何突破2GB内存限制的最终解决方案
- oracle在32位的Linux环境下SGA如何突破2GB内存限制的最终解决方案
- 破解32位NT6内核系统(vista/win7)的内存限制,完美支持4GB至128GB内存,全新教程!(转)
- 破解32位NT6内核系统(vista/win7 8G以上)的内存限制,完美支持4GB至128GB内存,全新教程!
- 破解windows 7 32bit 4GB内存的限制
- Winodws XP 32bit系统中使用3GB以上的内存解决方案
- JVM内存限制
- JVM内存限制(最大值)
- 如何解决在Xp系统中应用程序有2G内存的限制
- 如何解决在Xp系统中应用程序有2G内存的限制
- 系统可以识别出2GB内存,但是只有1GB可用
- linux系统中 ulimit限制
- 2路bit-map的应用:test.txt中有42亿个无符号整数,从小到大打印其中只出现过一次的数 。限制: 可用内存为1.5GB.
- 只用2GB内存在20亿个整数中找到出现次数最多的数
- 只用2GB内存在20亿个整数中找到出现次数最多的数
- grub限制机器可使用的内存 linux内存限制
- sql 查询时间
- ArcGIS Server for flex 基础(一)地图控件的常用属性
- 默默地抗拒着
- SQL SERVER修改排序规则
- Linux系统中JVM内存2GB的限制
- Oracle的连接和验证方式
- A good artical about Flex profiling
- JSTL
- 通过上传excel导入数据到数据库
- ganglia安装笔记
- 联想天逸F41AT2390装server2008R2(win7核心)所遇到的问题
- [转]Google Chrome 源码下载
- 唐骏是现代社会的缩影