[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=  | 
·  -XX:+ForceMmapReserved 
缺省情况下,Java 堆以“惰性交换”方式进行分配。在此方式下,将根据需要来分配内存页,这样可以节省交换空间,但是也将强制使用 4KB 页。在大型堆系统中,这种内存分配方式允许堆包含数以十万计的页。此命令禁用“惰性交换”并允许操作系统使用较大的内存页,从而优化对构成 Java 堆的内存的访问。
| 
 缺省值:  | 
 off  | 
| 
 建议值:  | 
 on  | 
| 
 用法:  | 
 -XX:+ForceMmapReserved 将禁用“惰性交换”。  | 
·  -Xmn 
此设置控制允许新生成的对象在堆中耗用的空间量。正确调整此参数有助于降低垃圾回收开销,从而缩短服务器响应时间并提高吞吐量。此参数的缺省设置通常过低,这将导致执行大量的小型垃圾回收操作。
| 
 缺省值:  | 
 没有缺省值  | 
| 
 建议值:  | 
 大约整个堆大小的 3/4  | 
| 
 用法:  | 
 -Xmn  | 
·  -Xnoclassgc 
缺省情况下,当一个类没有任何活动实例时,JVM 就会从内存中卸载该类,但是这样会使性能下降。如果关闭类垃圾回收,就可以消除由于多次装入和卸载同一个类而造成的开销。 
如果不再需要某个类,则该类在堆中所占用的空间通常将用于创建新对象。但是,如果应用程序通过创建类的新实例来处理请求,并且该应用程序的请求是随机出现的,则可能会发生以下情况:先前请求者完成后,正常的类垃圾回收将通过释放这个类占用的堆空间来清除这个类,但当下一个请求出现时,又必须将这个类重新实
例化。在这种情况下,您可能想使用此选项来禁用类垃圾回收。
| 
 缺省值:  | 
 启用类垃圾回收  | 
| 
 建议值:  | 
 禁用类垃圾回收  | 
| 
 用法:  | 
 Xnoclassgc 禁用类垃圾回收  | 

                
            
        
浙公网安备 33010602011771号