【问题标题】:What are "Events" in hs_err_pid.log?hs_err_pid.log 中的“事件”是什么?
【发布时间】:2018-04-08 10:03:09
【问题描述】:

我在 hs_err_pid.log 中找到了这些。

Events (10 events):
Event: 2603309.010 Thread 0x00007ff2c800c000 DEOPT UNPACKING pc=0x00007ff34aaddf69 sp=0x00007ff3409e88a8 mode 2
Event: 2603310.108 Thread 0x00007ff362229000 DEOPT PACKING pc=0x00007ff34b25ce6c sp=0x00007ff340ceb660
Event: 2603310.122 Thread 0x00007ff2c8009800 Uncommon trap: trap_request=0xffffff65 fr.pc=0x00007ff34b890e40
Event: 2603310.124 Thread 0x00007ff2c8009800 DEOPT PACKING pc=0x00007ff34b890e40 sp=0x00007ff3408e7790
Event: 2603310.124 Thread 0x00007ff2c8009800 DEOPT UNPACKING pc=0x00007ff34aaddf69 sp=0x00007ff3408e7680 mode 2
Event: 2603310.125 Thread 0x00007ff2c8009800 Uncommon trap: trap_request=0xffffff65 fr.pc=0x00007ff34b850fe4
Event: 2603310.125 Thread 0x00007ff2c8009800 DEOPT PACKING pc=0x00007ff34b850fe4 sp=0x00007ff3408e7560
Event: 2603310.125 Thread 0x00007ff2c8009800 DEOPT UNPACKING pc=0x00007ff34aaddf69 sp=0x00007ff3408e72d8 mode 2
Event: 2603310.126 Thread 0x00007ff362229000 DEOPT UNPACKING pc=0x00007ff34aaddf69 sp=0x00007ff340ceb628 mode 2
Event: 2603310.935 Thread 0x00007ff2d8001000 Thread added: 0x00007ff2d8001000

我对这些信息一无所知,我很好奇,尽管它可能无法帮助我分析崩溃。

  1. 像“2603309.010”这样的数字是什么意思?
  2. 这些描述是什么意思?包括DEOPT、UNPACKING/PACKING、Uncommon trap、trap_request、pc和sp?

【问题讨论】:

    标签: java linux jvm java-threads


    【解决方案1】:

    这是最近 10 个 VM 运行时事件的历史记录(编译和 GC 除外)。

    2603309.010 是时间戳 - 自 VM 启动以来的秒数。

    Uncommon trap 是编译代码中的推测性前提条件失败的情况。它通常会导致deoptimization - 从编译代码切换回解释器。反优化首先收集有关虚拟帧的信息(打包),然后以解释器格式将这些帧展开到堆栈上(解包)。 pcsp 是程序计数器和堆栈指针。

    来自HotSpot Glossary of Terms

    不常见的陷阱

    当 C2 生成的代码恢复到 解释器进一步执行。 C2 通常编译为 常见的情况,允许它专注于优化频繁 执行的路径。例如,C2 在 generated 中插入一个不常见的陷阱 编译时未初始化的类需要运行时的代码 时间初始化。

    去优化

    转换编译(或更多 优化的)堆栈帧到一个解释的(或不太优化的)堆栈中 框架。还描述了丢弃其依赖项的 nmethod (或其他假设)已被打破。去优化的 nmethods 是 通常重新编译以适应不断变化的应用程序行为。 示例:编译器最初假定引用值永远不会为空, 并使用捕获内存访问对其进行测试。后来,该 应用程序使用空值,并且该方法被去优化并且 重新编译以使用显式的测试和分支习语来检测此类 空值。

    【讨论】:

      猜你喜欢
      • 2011-12-22
      • 1970-01-01
      • 2019-01-18
      • 2017-04-14
      • 2016-07-06
      • 2011-12-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多