1,使用命令top -p <pid> ,显示你的java进程的内存情况,pid是你的java进程号,比如4977
2,按H,获取每个线程的内存情况3,找到内存和cpu占用最高的线程pid,比如4977
4,执行 System.out.println(Integer.toHexString(4977));8 得到 0x1371 ,此为线程id的十六进制
5,执行 jstack 4977|grep -A 10 1371,得到线程堆栈信息中1371这个线程所在行的后面10行
6,查看对应的堆栈信息找出可能存在问题的代码