2007-09-03
Java参数-Xms和-Xmx的区别
java内存堆栈不够用时我们会寻求java参数-Xms和-Xmx的帮助,网上也有许多前辈给出了例子,但很多人喜欢把-Xms和-Xmx的值设置成一样的,甚至我还见过有吧-Xms设的比-Xmx还要大(-Xms是最小值,-Xmx是最大值)。
一开始我也不知道这两个值设成一样会有什么问题,但是我在作项目http://youmonitor.us/ 时发现,当我把-Xms和-Xmx设置成一样时,java会不断地吃内存。起先不知道怎么回事,经过测试后发现,原来java的垃圾回收器在内存使用达到-Xms值的时候才会开始回收,如果两个值一样,那就意味着,只有当java使用完所有内存时才会回收垃圾,这样一来内存当然不停的涨。希望我的教训对各位有所帮助。
一开始我也不知道这两个值设成一样会有什么问题,但是我在作项目http://youmonitor.us/ 时发现,当我把-Xms和-Xmx设置成一样时,java会不断地吃内存。起先不知道怎么回事,经过测试后发现,原来java的垃圾回收器在内存使用达到-Xms值的时候才会开始回收,如果两个值一样,那就意味着,只有当java使用完所有内存时才会回收垃圾,这样一来内存当然不停的涨。希望我的教训对各位有所帮助。
评论
cai555
2008-04-30
google
Joo
2008-04-30
请教各位大大哪里可以查阅到有关JVM GC和多种JVM比较的资料 谢谢
liquidthinker
2007-09-05
dennis_zane 写道
不同厂家的jdk垃圾回收算法不一样,不能一概而论
补充,并且同一jdk的gc策略也有多种,不能一概而论
另外,在sun的jdk下,Xms和Xmx设置一样,可以减轻伸缩堆大小带来的压力,但在ibm的jdk下面,设置为一样会增大堆碎片产生的几率,并且这种负面影响足以抵消前者产生的益处
devilbaby
2007-09-05
不单是垃圾收集,vm会根据空余内存,在xms和xmx之间调整内存,所以会耗时
galaxystar
2007-09-05
针对不同应用切换到最合适的GC算法好了.
如果是1.6的jdk, CMS回收算法有很大的增强
详见 http://java.sun.com/javase/6/docs/technotes/guides/vm/cms-6.html
如果是1.6的jdk, CMS回收算法有很大的增强
详见 http://java.sun.com/javase/6/docs/technotes/guides/vm/cms-6.html
dennis_zane
2007-09-05
不同厂家的jdk垃圾回收算法不一样,不能一概而论
greatqiao
2007-09-05
以前只知道最大值于最小值,今天知道最小值于垃圾回收的原理了。受教了。
tvjody
2007-09-03
一般设置为
-Xms128m
-Xmx512m
-Xms128m
-Xmx512m
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 12162 次

- 详细资料
搜索本博客
最近加入圈子
最新评论
-
POI拷贝Sheet包括每个单 ...
你好,你写的这个方法正式我说需要的,不过我有2个问题:1、该方法能实现两个不同的 ...
-- by jackini -
自己写OpenCms自定义结构 ...
老兄,这是按页面关键字进行搜索,你知道怎么按网页创建的时间进行搜索吗.急啊!!! ...
-- by zhouxiao315 -
opencms7.0.x plugin for ...
太好了,有更新了
-- by cai555 -
opencms7.0.x plugin for ...
我的环境:Myeclipse6.0(eclipse3.3.1)/openCMS7 ...
-- by foolpcman -
谁能告诉我为什么parseInt ...
居然被评为入门帖,不过还是感谢解答的各位
-- by cai555






评论排行榜