java - 从二进制堆转储中提取 JVM 正常运行时间
问题描述
我正在分析几个堆转储,并且对从堆转储中获取 JVM 正常运行时间(或启动时间)的方法感兴趣。使用 Eclipse 内存分析器,我可以轻松获取系统属性和类路径,但找不到正常运行时间的方法。
解决方案
您可以尝试搜索sun.util.calendar.ZoneInfoFile
类,它包含该long CURRT
字段。它的值与 VisualVM 中的 JVM 开始时间匹配(在我的情况下,至少与Oracle JVM匹配):
Type|Name |Value
---------------------
long|CURRT|1578570465
---------------------
纪元转换器说它是2020/1/9 6.47 am EST (GMT-5)
,我启动我的 Java 应用程序的时间。以防万一,该hprof
文件是在几分钟后创建的,位于7.03 am
.
推荐阅读
- amazon-web-services - 在 AWS Glue 中解析动态数据帧的架构
- php - Laravel 5.7,在用户注销之前做一些事情
- python - 对 Pandas 时间戳列进行分箱
- c++ - C++,获取windows目录下最后修改的文件
- c# - 如何根据datagridview外部的组合框过滤datagridview组合框中的结果
- julia - Julia中的二维曲线拟合
- vue.js - 一个 ui 组件可以成为两个项目的激活器吗?(尝试使用带有 v-dialog 的 v-tooltip)
- php - 在我的网页索引上显示 requestbin 数据
- scala - 如何使用scala查找字符串变量中的位数?
- laravel - 在 Laravel 项目图像中以 json_decode 格式(如 ff1dgadfll)出现,但我想在管理员存储中以原始格式显示它如何?