【问题标题】:How to check/compare the output of parallel GC threads and Conc GC threads ? How to settle down on the GC thread values?如何检查/比较并行 GC 线程和 Conc GC 线程的输出?如何确定 GC 线程值?
【发布时间】:2023-03-03 08:01:26
【问题描述】:

我正在使用 CMS 收集器并运行 4 个 JVM。

  1. 我正在根据分析 GC 日志调整 jvm 值,除了 GC 线程的值。我应该调整它们以获得更稳定的响应时间和每秒事务数吗?

  2. 我正在使用公式并行 GC 线程 = 核心数,截至 现在。还有其他规则吗?

  3. 有没有办法查看GC线程进程的结果。

  4. 我应该使用线程转储来查看它吗?还有任何有用的 学习如何分析线程转储的指针/链接?

【问题讨论】:

  • 我只会设置你知道帮助的参数。如果您不知道它们是否有帮助,请不要包括它们。如果 JVM 单独运行在机器上,那么默认的线程数很可能是最佳值。
  • 您是否正在尝试解决实际的性能问题?如果是这样,它应该是您问题的一部分。
  • 我想让响应时间更稳定,并且在 SLA 下。我应该遵循什么样的理由/流程来增加/减少并行/集中线程?

标签: java performance garbage-collection jvm heap-memory


【解决方案1】:
  1. 真的取决于你的优先级。如果这是一个 Web 应用程序,我会调整最佳平均响应时间。

  2. 这是一个完全可以接受的设置。

  3. 您可以尝试 -verbose:gc、-XX:+PrintGCDetails 和 -XX:+PrintGCTimeStamps。

  4. 我建议将 JVisualVM 与 VisualGC 插件一起使用。我一直发现看这个比阅读日志要容易得多。线程转储可能对您没有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    • 2015-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多