1.查看线程数:
方法一:查看/proc/[进程ID]/ grep Threads /proc/[进程ID]/status 方法二: ps -L -o pid,tid,comm,state -p [进程ID]
2.jstack分析Java堆栈
jstack -l [进程ID]
3.查看IO
eg:如果有 too many open files 的报错,则说明程序打开的文件过多
1.查看该进程打开的文件
lsof -p [进程ID] 2.查看文件被哪个进程打开 lsof 文件名
3.查看Linux的句柄数
ulimit -a
中有个open files 默认为65535
4.查看CPU
1.top,默认按照CPU排序,找到占用最高CPU的进程ID 2.查看该进程的所有线程相关信息,找到占用最大的线程。 top -Hp [进程ID] 3.将线程ID转化为16进制
printf "%x\n" [线程ID]
4.在jstack导出该进程的结果中找到该线程。
5.查看内存
1.操作系统占用的内存
free -h
2.top,M 按照内存排序
6.查看磁盘空间
1.查看系统磁盘大小以及挂载磁盘大小 df -h 2.查看某个文件夹大小 du -h 文件夹
标签:Java,查看,jstack,程序,排查,线程,进程,ID From: https://www.cnblogs.com/langgj/p/17757067.html