设为首页
优惠IDC
收藏本站
六狼博客
六狼论坛
开启辅助访问
切换到窄版
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
只需一步,快速开始
快捷导航
门户
首页
BBS
云计算
大数据
手机
移动开发android,ios,windows phone,windows mobile
编程
编程技术java,php,python,delphi,ruby,c,c++
前端
WEB前端htmlcss,javascript,jquery,html5
数据库
数据库开发Access,mysql,oracle,sql server,MongoDB
系统
操作系统windows,linux,unix,os,RedHat,tomcat
架构
项目管理
软件设计,架构设计,面向对象,设计模式,项目管理
企业
服务
运维实战
神马
搜索
搜索
热搜:
php
java
python
ruby
hadoop
sphinx
solr
ios
android
windows
centos
本版
帖子
用户
六狼论坛
»
首页
›
操作系统
›
Solaris
›
Linux系统中JVM内存2GB限制的原因
返回列表
查看:
159
|
回复:
0
Linux系统中JVM内存2GB限制的原因
[复制链接]
javafxguy
javafxguy
当前离线
积分
24
窥视卡
雷达卡
升级
48%
当前用户组为
童生
当前积分为
24
, 升到下一级还需要 26 点。
6
主题
6
主题
6
主题
童生
童生, 积分 24, 距离下一级还需 26 积分
童生, 积分 24, 距离下一级还需 26 积分
积分
24
发消息
楼主
|
发表于 2013-1-28 23:58:06
|
显示全部楼层
|
阅读模式
(转载请注明出处:
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
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Derby
Copyright © 2008-2020
六狼论坛
(https://it.6wolf.com) 版权所有 All Rights Reserved.
Powered by
Discuz!
X3.4
京ICP备14020293号-2
本网站内容均收集于互联网,如有问题请联系
QQ:389897944
予以删除
快速回复
返回顶部
返回列表