WEB开发网
开发学院操作系统Linux/Unix 最大化 AIX 上的 Java 性能,第 3 部分: 更多就是... 阅读

最大化 AIX 上的 Java 性能,第 3 部分: 更多就是更好

 2008-11-10 08:26:39 来源:WEB开发网   
核心提示: 请注意:如果优化不当,使用可变大小的堆会产生严重的性能影响,最大化 AIX 上的 Java 性能,第 3 部分: 更多就是更好(8),技巧 MEM003:快速的堆增长使用高于缺省值 (1 MB) 的 -Xmine 值,这将允许 Java 堆的最小扩展变得更迅速,总结本文向您介绍了如何使用

请注意:如果优化不当,使用可变大小的堆会产生严重的性能影响。

技巧 MEM003:快速的堆增长

使用高于缺省值 (1 MB) 的 -Xmine 值。这将允许 Java 堆的最小扩展变得更迅速。例如, -Xmine5m 将允许堆一次增长 5 MB(或更多,最多可达 -Xmaxe)。

请注意:-Xmine 只是在进行堆扩展时发挥作用的若干因素之一。有关堆扩展的更多信息,请参见 Diagnostics Guides。

技巧 MEM004:受控的堆增长

使用与缺省值 (0) 不同的 -Xmaxe 值。这会强制将 Java 堆的最大扩展保持在指定的限制之内。例如,-Xmaxe2m 将强制堆在一个周期中的增长不能超过 2MB。

请注意: -Xmaxe 只是在进行堆扩展时发挥作用的若干因素之一。有关堆扩展的更多信息,请参见位于 IBM developer kits - diagnosis documentation 的 Diagnostics Guides。

技巧 MEM005:禁用堆收缩

要禁用堆收缩,可以使用 -Xmaxf1,此开关将最大空闲堆百分比设置为 100%。

请注意:这将强制堆只能增长,如果堆具有固定大小,则此开关不起作用。

技巧 MEM006:使用并发标记 (Concurrent Mark)

使用开关 -Xgcpolicy:optavgpause 以启用并发标记。

请注意:对于 CPU 密集型应用程序,此设置可能会影响性能。

技巧 MEM007:禁用显式的 GC 调用

使用开关 -Xdisableexplicitgc 禁用任何 System.gc() 调用以避免触发 GC。

请注意:确保您的应用程序功能不会受到此开关的影响。

技巧 MEM008:优化本机堆分配

设置环境变量:

  export MALLOCTYPE=buckets

以切换到基于 Bucket 的本机堆模型。

请注意:Java 堆分配不受此开关的影响。而且,如果使用不当,此开关会影响应用程序的性能。

总结

本文向您介绍了如何使用 AIX 工具进行 Java 性能监视,并提供了可用来优化应用程序的内存使用的常用调整列表。本系列中的下一篇文章将讨论“AIX 上的 Java 应用程序的网络和磁盘 I/O 调整”。

上一页  3 4 5 6 7 8 

Tags:最大化 AIX Java

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接