一、日志监测
1、进入项目日志路径
cd /home/***/**/all
tail -f branch.log
查询日志详情
view branch.log
less branch.log
2、使用arthas(阿尔萨斯) 监管java服务运行状态
1)进入/home/***/arthas路径下,运行java诊断工具
java -jar arthas-boot.jar
2)、可以选择监控类型
运行dashboard 命令展示当前进程的信息,堆栈信息,系统信息,jdk版本信息,ctrl+c中断执行
3)、查询服务的gc情况
监控当前进程的gc情况,例如
jstat -gcutil pid interval(ms)
查看当前项目的gc情况
jstat -gcutil 16465 2000
参数详解
S0:新生代中Survivor space 0区已使用空间的百分比
S1:新生代中Survivor space 1区已使用空间的百分比
E:新生代已使用的空间的百分比
0:老年代已使用的空间的百分比
P:永久代已使用的空间的百分比
YGC:从应用程序启动到当前,发生yang GC的次数
YGCT:从应用程序启动到当前yang gc予以使用的时间【单位秒】
FGC:从应用城西启动到当前,full gc的次数
FGCT:从程序启动到当前,full gc所用的时间
GCT:从应用程序启动到当前,用于垃圾回收的总时间【单位秒】
4)、使用jmap命令查看堆和内存
(1)、查看整个jvm内存状态
jmap -heap pid
(2)、查看jvm堆中对象详细占用情况
jmap -histo pid
(3)、生成dump文件,导出整个jvm中的内存信息,利用其他工具打开dump文件分析,目前使用工具MemoryAnalyzer分析dump文件
jmap -dump:format=b,file=文件名.dump pid
(4)、查看所有的dump文件的大小,分析当前的内存使用情况,其中dump文件的大小代表当前使用内存的大小,当前jvm总内存大小可以在上述arthas 、jmap等命令中查看
du -h *.dump