使用工具列表
工具 | 备注 |
---|---|
jmap | Java 内存分析工具 sdk 内置命令 |
jps | 查看当前Java进程的命令. sdk内置命令 |
top | Linux 进程查看命令 |
jstat | Linux 进程查看命令 |
printf | 屏幕字符打印输出 |
JAVA应用服务问题排查步骤
工具 jps
通过jps查找到java应用进程ID
# jps
7060 jar
519 jps
工具 top
查看指定进程的线程cpu,mem使用情况
# top -Hp 7060
工具 printf
将线程的id转换为16进制并输出
# printf '%x\n' 7228
1c3c
工具 jstack
分析指定的cpu,mem占用较高的线程目前的具体状态
# jstack 7060 | grep -A 30 1c3c
其中 lettuce-nioEventLoop lettuce是springboot中redis的连接池. NIO是 andtown 等等.可以根据具体情况具体分析.这里这个是正常的.一般遇到wait lock 这种就需要详细查看分析.