JVM 性能调整的一些基本概念(二)

2014-11-23 23:22:42 · 作者: · 浏览: 2
9K(776768K), 1.8479984 secs]
上面的三行是 GC 的详细输出,我们可以看到两次小收集和一次大收集。箭头前后的两个数字代表 GC 后活的对象的组合长度。括号内的数字代表合计的空间,等于堆大小减去一片生存空间。

除非你遇到暂停的问题,否则,可以分配足够的内存给 JVM,缺省的 64MB 总是太小。

设置 -Xms 和 -Xmx 为同样的值能提高 JVM 的预测,但是如果你的选择不对的话, JVM 不会补偿。

当增加处理器时,记得增加内存,因为分配可以并行进行,而 GC 不是并行的。


NewSize 和 MaxNewSize 绑定新生代的长度的低端和高端,设置为一样大小时和 -Xms 和 -Xmx 一样解决新生代的预测时间。

如果生存空间太小,拷贝直接进入旧生代,如果太大的话,会空闲在那里。

除非你碰到过渡的大收集或者暂停时间,否则分配足够的内存给新生代,缺省的 MaxNewSize (32MB) 往往太小。

如果需要的话,最大的永久代大小可以使用 MaxPermSize 增加。

直接的 GC 调用可以采用 -XX:+DisableExplicitGC 来关闭。

对于大服务器而言,1.4 的 JVM 能提供 64 bit 寻址能力,提供更大的新生代大小,并发收集来减少大收集引起的暂停的影响。

Java HotSpot Client VM 主要用于减少应用启动时间以及内存的 footprint 。

Java HotSpot Server VM 和 Java HotSpot Client VM 类似,但是在最大性能上作了调整。用于长期运行的服务应用。


Solaris 和 Linux 的 J2SE 1.3 随带 Java HotSpot Server VM 预安装。