输入命令:top
查看PID下CPU 使用率最高的进程ID;
可以直接输出进程的相关日志:
jstack 5598(进程ID)> /usr/log/0629-5598.log
如果有使用到docker容器的可以按照如下写法:
docker exec -it 容器id jstack 进程id > jstack0518.log(指定目录)
也可以先进入容器内部查看:
先进入docker 容器 docker exec -it 容器名或者容器ID bash
然后输入: top命令查看容器中的进程使用情况;
使用jstack命令输出日志:
jstack 进程id > jstack0518.log(指定目录)
可以将容器中的日志文件拷贝出去查看:
docker cp 容器名:path(容器文件目录) /path(主机目录)
分析进程里面线程日志也差不多:
使用命令:top -H -p 进程ID
找出占用资源最多的线程
将线程ID转成十六进制:printf %x 线程ID
使用得到的十六进制线程ID:jstack 进程ID | grep -a 十六进制线程ID > 输入目录