博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java性能优化 –gc日志收集与分析
阅读量:5773 次
发布时间:2019-06-18

本文共 1333 字,大约阅读时间需要 4 分钟。

  hot3.png

使用jvisualvm与jconsole能够实时监控java程序的运行状态。

但是我们并不会一直盯着输入屏幕,或者说开着一个客户端一直抓取服务器的运行信息。相对来说,能够让java程序在运行的时候自动生成日志,然后我们再对生成的数据进行分析是比较不错的选择。

收集日志

打印Gc日志的参数

打印gc详细信息

-XX:+PringGCDetails

带有距离JVM开始运行的时间戳

-XX:+PrintGCTimeStamps

带有日历时间戳

--XX:+PringGCDateStamps

指定gc日志存放文件(不指定则控制台打印)

-Xloggc:

针对高延迟问题调优HotSpot VM时,下面两个命令行选项特别有用,通过它们可以获得应用程序由于执行VM安全操作而阻塞的时间以及两个安全点操作之间应用程序运行的时间。

-XX:+PrintGCApplicationStoppedTime-XX:+PrintGCApplicationConcurrentTime

何谓安全操作:安全操作使JVM进入到一种状态:所有的java应用线程都被阻塞、执行本地代码的线程都被禁止返回VM执行代码。安全操作常用于虚拟机需要进行内部操作时,此时所有的线程都被显式地置于阻塞状态且不能修改堆的情况。

设置参数

Tomcat

$CATALINA_HOME/bin/setenv.sh文件
加入:

#opts for gc logexport CATALINA_OPTS="$CATALINA_OPTS -XX:+PrintGCDetails"export CATALINA_OPTS="$CATALINA_OPTS -XX:+PrintGCTimeStamps"export CATALINA_OPTS="$CATALINA_OPTS -XX:+PrintGCDateStamps"export CATALINA_OPTS="$CATALINA_OPTS -Xloggc:/gc_logs/tomcat.gc.log"

当然,loggc的文件能够自给创建,目录得先创建好。

分析日志

拿到了日志,拿眼睛看也是怪累的,而且不拿本教程对着看各个参数时什么意思还真不怎么看得懂。过段时间又忘了什么意思。。。

关键时“海量”的数据,眼睛哪看的过来,还需需要将日志转化成像jconsole、jvisualvm一样的图形化看着才方便。

gchistro0

这个工具好像听说比较强大,所以我也写上。

工程的地址在:https://java.net/projects/gchisto

svn源码放在:https://svn.java.net/svn/gchisto~svn

然而,虽然它强大,但是我用它分析日志的时候并没有识别出来。

我现在也没搞清楚是哪里出了问题.如果有会用的前辈还请指导指导.

gceasy

推荐一个分析gc日志的网址:http://gceasy.io/

只要上传日志文件就能够给出好多有用的分析数据出来。感觉还是很好用的。
后面还会根据这个网站的日志分析做出性能调优。

博客转载地址:

转载于:https://my.oschina.net/jeeker/blog/661639

你可能感兴趣的文章
数据结构之红黑树(三)——删除操作
查看>>
html5视频标签
查看>>
JAVA进阶-注解
查看>>
三元表达式之理解/jquery源代码分析之$.inArray实现
查看>>
STM32 mdk软件仿真时过不去时钟的问题
查看>>
(转)让Spring自动扫描和管理Bean
查看>>
Spark Streaming概念学习系列之Spark Streaming容错
查看>>
Windows Server 2003 用户账户的密码和用户配置文件
查看>>
单例模式
查看>>
使用Nginx反向代理 让IIS和Tomcat等多个站点一起飞
查看>>
老旧的金融机构,是时候赶赶云计算的时髦了
查看>>
晶澳向埃及11MW混合发电项目供应光伏组件
查看>>
国产x86 CPU性能达Intel的80%?
查看>>
用友网络陈强兵:企业互联网需解决五大问题
查看>>
SMA推出Powerwall兼容Sunny Boy Storage逆变器
查看>>
云路由 vyatta 体验(二)NAT
查看>>
C++、Java、JavaScript中迭代器的用法
查看>>
jackson not marked as ignorable异常
查看>>
Python version 2.7 required, which was not foun...
查看>>
android 模拟器 横竖屏切换
查看>>