JAVA 项目线上故障排查常用命令

内存
free -h
磁盘:
df -h
网络
dstat
查看java进程
ps aux | grep java
其中,定位排查问题时最为常⽤命令包括:
jps(进程)、jmap(内存)、jstack(线程)、jinfo(参数)等。
jps:查询当前机器所有Java进程信息
jmap:输出某个 Java 进程内存情况
jstack:打印某个 Java 线程的线程
1、出问题时候查看服务器 cpu 内存 带宽 使用情况
top 命令
2、查看java进程的资源消耗
jmap -heap pid (pid通过jps得到) 输出当前进程JVM堆内存新⽣代、⽼年代、持久代、GC算法等信息
top -H -p pid(pid通过jps得到)
3、ulimit -a 看下服务器的基础配置
是1024 还是 65535
4、查看tcp 等待数
netstat -n | awk ‘/^tcp/ {++state[$NF]} END {for(key in state) print key,“\t”,state[key]}’
sudo /app/jdk/bin/jstat -gcutil 3274 1000
jmap -dump:format=b,file=HeapDump.bin
jmap -heap pid
5、看FGC和YGC
jstat -gcutil pid 1000 (pid 为java进程)
jstat -gcutil 23708 1000

