标签:bin sudo Java log 查看 xxx yyy 就够 排查
熟悉这些Java排查工具就够了
前言
平时的工作中当我们碰到疑难问题的处理时候,在解决问题的同时,有一些很好的工具起到了相当大的作用,在此将会记录下来几乎是最全Java服务端开发用到的工具分享给大家,希望看到此文的同学们今后可以用到日常工作中解决问题。
Linux命令类
tail
相信这是最常用的一个命令,方便查看服务端机器的日志 最常用的就是tail -f
tail -100f xxx.log # 倒数100行并写入实时监听文件写入模式
grep
grep forest xxx.log #日志查找<br>
grep forest xxx.log yyy.log ##多日志查找<br>
cat xxx.log | grep -i 'keyword' #管道过滤关键字
pgm
pgm -A -f xxx.log 'filePath/xxx.log | grep 'keyword'' #批量查询xxx.log 满足条件的日志'
top
top -H -p pid #top一般看一些基本信息,其他的配合来拆线呢jvm的一些问题了
排查利器
Arthas
说到排查利器,第一个立马想到Arthas
,他可以帮助我们拿到很多信息,是一个可以在线诊断的工具,可以这样说几乎很多原生的jvm命令 都可以在它身上找到本身,还不了解的同学可以先去官网学习下arthas官网 ,有很多其他的命令,不过我一般用上面这些命令用的多。
------类、方法冲突、class文件、classloader继承等 ------
`thread`-----查看当前jvm线程堆栈信息
`sc`---------查看jvm已加载的类信息
`dump`-------dump已加载类的字节码到特定目录
`jad`--------反编译已加载类的源码
`classloader`---查看继承树,类加载信息
------查看方法执行参数、异常、返回值、耗时、调用路径等 ------
`monitor`-----方法执行监控
`watch`-------方法执行数据监控 参数 返回值等
`trace`-------方法内部调用路径,并输出方法路径上每个节点上耗时
`stack`-------输出当前方法被调用的调用路径
`tt`----------方法执行数据的时空隧道,就是可以回溯指定方法每次调用不同时间下的入参返回值
Jprofiler
在之前判断许多问题要通过Jprofiler,但是现在Arthas基本就能搞定了,关键的问题是现在生产观景基本都是网络隔离的,所以基本不怎么使用了。
Java五把斧
jps
主要用途一般用来查看jvm参数以及进程号jps-l jps-v jps-q
jstack
java虚拟机自带的一种堆栈跟踪工具,主要用来生成jvm线程快照定位出现卡顿原因,死锁、死循环、请求长时间wait等 这个也可以用arthas -b查看
sudo -u admin /xxx/yyy/bin/jstack 1234
sudo -u admin /xxx/yyy/bin/jstack -m 1234 #native+java栈
jinfo
主要用查看系统启动参数,比如你远程debug端口忘了,启动端口,jvm分配内存大小等
sudo -u admin /xxx/yyy/bin/jinfo -flags 2815
jmap
主要两个用途,查看堆的情况 以及dump文件 查看堆内存都被谁占了大头
sudo -u admin /xxx/yyy/bin/jmap -heap 1234 #查看堆的情况
sudo -u admin /xxx/yyy/bin/jmap -demp:format=b,file='filePath' #dump
sudo -u admin /xxx/yyy/bin/jsmp -histo 1234 | haad 20 | top20
jstat
主要用来查看垃圾回收内存分配 每个区域变化大小 包括S0 S1 CCS YGC FGU GCT 这些
sudo -u admin /xxx/yyy/bin/jstat -gcutil 1234 1000
最后
1、觉得有收获,帮忙关注转发下哈,感谢感谢。
2、微信搜索公众号:橘松Java技术窝
,关注后回复 “加群
” 可加入互联网技术交流&内推群
,和一群大厂大佬讨论面试问题。回复 “666
” 可获取一线互联网具备所有资料包(包括开发软件、开发规范、经典电子pdf、以及一些精品学习课程)。
3、文章涉及的所有代码、时序图、架构图均共享,可加群免费索要。
4、本文已获得原作者授权,出处,可关注其公众号:
标签:bin,sudo,Java,log,查看,xxx,yyy,就够,排查 来源: https://blog.csdn.net/qq_36603538/article/details/118457981
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。