JVM 性能,同时使用 -d64 选项调用它



最近我在 Solaris 11 上为 Java 进程分配 4GB 堆时遇到了问题。但是,当我使用 -d64 选项调用 java 进程时,这个问题得到了解决。现在,这引入了应用程序响应时间下降的新性能问题。任何人都可以指导我如何解决问题吗?

堆越大,垃圾回收器遍历它所需的时间就越多。您使用的是哪一个?您的 JVM 版本是什么?尝试切换到CMS收集器,这是一个低延迟的收集器。以下是有关此主题的一些链接:

  • GC 算法和参数的简短描述
  • 调优手册

-d64 参数只会使 VM 在 64 位环境中运行。

尽管间接地,64 位模式可能会对您的性能产生负面影响(对象内存占用量更大,堆更大),但我认为仅此一项不会给您的应用程序带来任何实质性的减速。要排除这种情况,您应该在引入 -d64 后检查 GC 日志中是否有 GC 活动的任何更改。

在任何情况下,您都需要提供有关应用程序和观察到的减速的一些详细信息,以确定问题的实际原因。

最新更新