Java程序【生产问题】排查

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 文件夹

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2023-10-11 15:40  calmLang  阅读(50)  评论(0编辑  收藏  举报