gpt4 book ai didi

garbage-collection - 如何从 GC 日志文件中找到应用程序挂起时间

转载 作者:行者123 更新时间:2023-12-04 08:00:30 24 4
gpt4 key购买 nike

我是垃圾收集的新手,请有人帮助我获得以下问题的答案并提供清晰的解释

我想从不同 JVM 的 GC 日志文件中找到应用程序 挂起时间 挂起计数 :

  • 太阳
  • jRockit
  • IBM

  • 的不同版本。

    A. 对于 SUN 我使用 JVM 选项
    -Xloggc:gc.log -verbose:gc -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+UseParNewGC -XX:+PrintGCDetails -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode
    B. 对于 JRockit,我使用的是 JVM 选项
    -Xms100m -Xmx100m -Xns50m -Xss200k -Xgc:genconpar -Xverbose:gc -Xverboselog:gc_jrockit.log
    我的 问题

    Q1。 什么是应用程序的暂停时间及其发生的原因。

    Q2。 如何通过查看日志来判断发生了暂停。

    第三季度。 应用程序的挂起时间是否= GC 次数的总和。

    例如:

    2013-09-06T23:35:23.382-0700: [GC 150.505: [ParNew Desired survivor size 50331648 bytes, new threshold 2 (max 15) - age 1: 28731664 bytes, 28731664 total - age 2: 28248376 bytes, 56980040 total : 688128K->98304K(688128K), 0.2166700 secs] 697655K->163736K(10387456K), 0.2167900 secs] [Times: user=0.44 sys=0.04, real=0.22 secs]

    2013-09-06T23:35:28.044-0700: 155.167: [GC 155.167: [ParNew Desired survivor size 50331648 bytes, new threshold 15 (max 15) - age 1: 22333512 bytes, 22333512 total - age 2: 27468336 bytes, 49801848 total : 688128K->71707K(688128K), 0.0737140 secs] 753560K->164731K(10387456K), 0.0738410 secs] [Times: user=0.30 sys=0.02, real=0.07 secs]



    暂停时间 = 0.2167900 秒 + 0.0738410 秒

    一世。如果是,我是否需要为每次 gc 添加所有时间

    ii.如果没有 Plz 为这些日志详细解释我,我们认为发生了暂停,而那些没有考虑使用日志的不同收集器

    Q4。 我们可以说 GC 次数 "0.2167900 , 0.0738410"等于 GC Pauses ie; TotalGCPause = 0.2167900 + 0.0738410

    Q5。 我们可以仅使用上述标志来计算暂停时间,还是需要包括额外的标志,例如 -XX:+PrintGCApplicationStoppedTime for SUN

    Q6。 我看到一个工具 dyna 跟踪它计算挂起时间并计算 SUN 而不使用标志 -XX:+PrintGCApplicationStoppedTime

    最佳答案

    如果您想获得有关您的应用程序因 GC 事件而停止的时间量的最准确信息,您应该使用 -XX:+PrintGCApplicationStoppedTime .
    -XX:+PrintGCApplicationStoppedTime启用 的打印应用程序线程停止的时间量 作为内部 HotSpot VM 操作(GC 和安全点操作)的结果。

    但是,对于实际的日常使用,GC 日志提供的信息就足够了。您可以使用问题 3. 中描述的方法来确定在 GC 中花费的时间。

    关于garbage-collection - 如何从 GC 日志文件中找到应用程序挂起时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18742885/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com