当前位置: 首页 > 面试题库 >

分析gc日志

冉永宁
2023-03-14
问题内容

我正在使用-XX:+PrintGCApplicationStoppedTime-XX:+PrintGCApplicationConcurrentTime选项打开gc日志记录。

但是发现只有在4 0r
5后才PrintGCApplicationStoppedTime通过-XX:+PrintGCDetails命令打印我的gc日志的实际详细信息!

按照定义,PrintGCApplicationStoppedTime将为每个gc打印应用程序停止时间。

但是我不清楚为什么它会打印如下所示的示例。

是因为

PrintGCApplicationStoppedTime 只需在每个安全点到达后打印

(要么)

该日志文件将由其他gc线程记录。我正在使用并发扫描进行完整GC,并为年轻一代使用ParNew

我的应用程序是Web应用程序。

O / p模式-我变得像这样:

Application time: 0.3847031 seconds
Total time for which application threads were stopped: 0.3135419 seconds
Application time: 0.1520723 seconds
Total time for which application threads were stopped: 0.1993920 seconds
Application time: 0.1188219 seconds
Total time for which application threads were stopped: 0.1993920 seconds
Application time: 0.1188219 seconds
Total time for which application threads were stopped: 0.1993920 seconds
Application time: 0.1188219 seconds
Total time for which application threads were stopped: 0.1993920 seconds
Application time: 0.1188219 seconds
1.229: [GC 1.229: [ParNew: 256000K->51200K(256000K), 0.1509756 secs] 426536K->334728K(997376K), 0.1510198 secs] [Times: user=0.85 sys=0.07, real=0.15 secs]

问题答案:

不幸的PrintGCApplicationStoppedTime是,此JVM选项的名称具有误导性。

实际上,它会打印在安全点内花费的时间。安全点暂停的发生不仅是由于垃圾收集,还有其他许多原因:

  • 反优化
  • 偏向锁吊销
  • 线程转储
  • 堆检查
  • 类重定义
  • 等(请参见列表)

即使没有请求的VM操作以泄放空闲监视器,执行某些JIT清理等操作,安全点也可能定期发生。请参阅-XX:GuaranteedSafepointIntervalVM选项(默认为1000毫秒)。

使用-XX:+PrintSafepointStatistics -XX:PrintSafepointStatisticsCount=1转储有关safepoints的更多信息。



 类似资料:
  • 日段分析分为五部分:设备筛选 、 最近31天分析、 所有时间日分析 、 最近31天分析表 和 所有月份31天分析表 1.设备筛选 可在顶部选择全部设备,或者电脑端、移动端进行分析数据 2.最近31天分析(趋势图) 1)以最近31天为单位,查询最近31天内的流量日段分析情况,趋势图能直观反映各变量的变化趋势 2)底部含前30天平均值,展示对应指标平均数值 2)如有需要,亦可点击下载当前报表及更

  • 日志是非常重要的系统文件,管理员每天的重要工作就是分析和查看服务器的日志,判断服务器的健康状态。但是日志管理又是一项非常枯燥的工作,如果需要管理员手工查看服务器上所有的日志,那实在是一项非常痛苦的工作。有些管理员就会偷懒,省略日志的检测工作,但是这样做非常容易导致服务器出现问题。 那么我们有取代的方案吗?有,那就是日志分析工具。这些日志分析工具会详细地查看日志,同时分析这些日志,并且把分析的结果通

  • 我正在尝试使用Logstash解析nginx日志,除了用包含nginx$remote\u用户的行获取这个标记外,一切看起来都很好。当$remote_user为“-”(未指定$remote_user时的默认值)时,Logstash将执行此任务,但使用真正的$remote_用户,如它失败并放置一个标签: 127.0.0.1--[17/Feb/2017:23:14:08 0100]"GET/favico

  • 本文向大家介绍Docker 容器日志分析,包括了Docker 容器日志分析的使用技巧和注意事项,需要的朋友参考一下 查看容器日志 先使用  docker run -it --rm -d -p 80:80 nginx:1.15.8-alpine 命令启动一个nginx容器。如果没有异常,会得到容器ID如  d2408a7931c95a3a83ffeca2fba887763cf925a67890ef3

  • 1. 介绍 本篇会介绍三个关于分析nginx日志信息的工具。 2. nginx_log_analysis 这个工具是由一位叫LEO的网友提供的,它的博客是http://linux5588.blog.51cto.com/,它是用python语言写的,只是用来分析nginx日志,它的输出比较简单,以IP为主,可以查看每个IP的访问的流量,次数,占比等信息。 先获取这个python文件。 # 下载 $