[HP-UX] 调整 HP JVM 的垃圾回收器

HP JVM 依靠分代垃圾回收来实现最佳性能。下列命令行参数对于调整垃圾回收来说非常有用。

·  -Xoptgc

此设置针对包含许多短生命周期对象的应用程序优化 JVM。如果未指定此参数,则 JVM 通常执行大型(全面)垃圾回收。全面垃圾回收会花费几秒钟时间,这将显著影响服务器性能。

缺省值:

off

建议值:

on

用法:

-Xoptgc 启用优化的垃圾回收。

·  -XX:SurvivorRatio

Java 堆划分为旧对象(长生命周期对象)区域和新对象区域。新对象区域进一步细分为两部分,第一部分用于分配给新对象(初始区域),第二部分存放那些经过其前几 次垃圾回收之后、但在被提升为旧对象之前仍在使用中的新对象(幸存者空间)。幸存者比率是堆的新对象区域中初始区域与幸存者空间的比率。增大此设置将针对 需要创建大量对象但仅保留少量对象的应用程序优化 JVM

缺省值:

32

建议值:

16

用法:

-XX:SurvivorRatio=16

·  -XX:PermSize

为永久生成对象保留的堆区域存储 JVM 的所有反射数据。对于动态地装入和卸载大量类的应用程序来说,应该增大此大小以优化它们的性能。通过将此参数指定为 128 兆字节,可以消除增大此部分堆所需的开销。

缺省值:

0

建议值:

128 兆字节

用法:

-XX:PermSize=128m PermSize 设置为 128 兆字节

·  -XX:+ForceMmapReserved

缺省情况下,Java 堆以惰性交换方式进行分配。在此方式下,将根据需要来分配内存页,这样可以节省交换空间,但是也将强制使用 4KB 页。在大型堆系统中,这种内存分配方式允许堆包含数以十万计的页。此命令禁用惰性交换并允许操作系统使用较大的内存页,从而优化对构成 Java 堆的内存的访问。

缺省值:

off

建议值:

on

用法:

-XX:+ForceMmapReserved 将禁用惰性交换

·  -Xmn

此设置控制允许新生成的对象在堆中耗用的空间量。正确调整此参数有助于降低垃圾回收开销,从而缩短服务器响应时间并提高吞吐量。此参数的缺省设置通常过低,这将导致执行大量的小型垃圾回收操作。

缺省值:

没有缺省值

建议值:

大约整个堆大小的 3/4

用法:

-Xmn768m 将大小设置为 768 兆字节

 

 

·  -Xnoclassgc

缺省情况下,当一个类没有任何活动实例时,JVM 就会从内存中卸载该类,但是这样会使性能下降。如果关闭类垃圾回收,就可以消除由于多次装入和卸载同一个类而造成的开销。

如果不再需要某个类,则该类在堆中所占用的空间通常将用于创建新对象。但是,如果应用程序通过创建类的新实例来处理请求,并且该应用程序的请求是随机出现的,则可能会发生以下情况:先前请求者完成后,正常的类垃圾回收将通过释放这个类占用的堆空间来清除这个类,但当下一个请求出现时,又必须将这个类重新实 例化。在这种情况下,您可能想使用此选项来禁用类垃圾回收。

缺省值:

启用类垃圾回收

建议值:

禁用类垃圾回收

用法:

Xnoclassgc 禁用类垃圾回收

posted @ 2008-12-17 10:39  徐之  阅读(665)  评论(0编辑  收藏  举报