什么是“事件"?在hs_err_pid.log中? [英] What are "Events" in hs_err_pid.log?

查看:174
本文介绍了什么是“事件"?在hs_err_pid.log中?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I've found these in my 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

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

And I have no idea about these infomations and I'am curious even though it may not help me analyze the crash.

  1. "2603309.010"之类的数字是什么意思?
  2. 说明是什么意思?包括DEOPT,UNPACKING/PACKING,罕见陷阱,trap_request,pc和sp?

推荐答案

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

This is a history of last 10 VM runtime events (other than compilation and GC).

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

2603309.010 is a timestamp - number of seconds since VM start.

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

Uncommon trap is a situation when a speculative precondition in the compiled code fails. It usually results in deoptimization - switching from compiled code back to interpreter. Deoptimization first collects the information about virtual frames (packing) and then unrolls these frames onto the stack in the interpreter format (unpacking). pc and sp are program counter and stack pointer.

来自热点术语词汇表:

不常见的陷阱

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

When code generated by C2 reverts back to the interpreter for further execution. C2 typically compiles for the common case, allowing it to focus on optimization of frequently executed paths. For example, C2 inserts an uncommon trap in generated code when a class that is uninitialized at compile time requires run time initialization.

去优化

转换已编译(或更多)的过程 优化)的堆栈帧转换为解释(或优化程度较低)的堆栈 框架.还描述了如何丢弃依赖关系的nmethod (或其他假设)已被打破.未优化的nmethods是 通常会重新编译以适应不断变化的应用程序行为. 范例:编译器最初会假设参考值永远不会为null, 并使用陷阱内存访问对其进行测试.后来, 应用程序使用空值,并且该方法已取消优化,并且 重新编译以使用明确的测试与分支习惯用法来检测此类 空值.

The process of converting an compiled (or more optimized) stack frame into an interpreted (or less optimized) stack frame. Also describes the discarding of an nmethod whose dependencies (or other assumptions) have been broken. Deoptimized nmethods are typically recompiled to adapt to changing application behavior. Example: A compiler initially assumes a reference value is never null, and tests for it using a trapping memory access. Later on, the application uses null values, and the method is deoptimized and recompiled to use an explicit test-and-branch idiom to detect such nulls.

这篇关于什么是“事件"?在hs_err_pid.log中?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆