问题:
环境:
- 发现运行多个java进程的服务器负载高,要调查资源消耗情况,排查负载高的原因。
环境:
- redhat linux;
- jdk1.8 ;
- 使用top命令,查看服务器上各进程的资源使用情况;
- 找出有问题的java进程,记录pid(26437),使用jstack将java进程的堆栈信息导出;
- 使用top -Hp 26437命令,查看当前java进程中的各线程的资源使用情况;
- 找出负载高的线程,记录pid(26507);
- 使用printf "%x\n" 26507命令,将线程的pid(26507)转换为16进制字符串(678b);
- 在jstack导出的java进程的堆栈信息中,查找字符串678b,即可定位负载高的线程的堆栈信息;