正常系统接口响应正常,但是突然接口大量超时;通过系统之间的调度情况 并没有发现其他提供接口的服务出现响应慢的情况
一般这个时候要查看jvm gc日志
一般启动的时候需要加命令
-XX:+PrintGCDetails
输出GC的详细日志
-XX:+PrintGCDateStamps
输出GC的日期戳
-Xloggc:/var/log/hbase/gc-.log
GC日志输出的路径
-XX:+UseGCLogFileRotation
打开GC日志滚动记录功能
-XX:NumberOfGCLogFiles
设置滚动日志文件的个数,必须大于等于1
日志文件命名策略是,.0, .1, …, .n-1,其中n是该参数的值
-XX:GCLogFileSize
The size of the log file at which point the log will be rotated, must be >= 8K.
设置滚动日志文件的大小,必须大于8k
当前写日志文件大小超过该参数值时,日志将写入下一个文件
其他有用参数
-XX:+PrintGCApplicationStoppedTime
打印GC造成应用暂停的时间
-XX:+PrintHeapAtGC
在进行GC的前后打印出堆的信息
-XX:+PrintTenuringDistribution
在每次新生代 young GC时,输出幸存区中对象的年龄分布
oom的时候生成dump文件
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=目录
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=目录/xxx.hprof
也可以使用skywalking