每一年都奔走在自己热爱里

 
没有人是一座孤岛,总有谁爱着你

linux 排查问题

1. java 应用问题排查

CPU 占用率过高、CPU 上下文切换频率次数较高、磁盘满了、磁盘 I/O 过于频繁、网络流量异常 (连接数过多)、系统可用内存长期处于较低值 (导致 oom killer) 等等
常用的JDK监控和故障处理工具:jps, jstack, jmap、jstat, jconsole, jinfo, jhat, javap, btrace、TProfiler

1. 查看cpu占用高的进程PID

第一步:top -d 1 或top -H
第二步: 输入 shift+h ,打开线程模式,查看目前最耗系统资源的线程是哪些

2. 查看内存使用情况

jmap -heap PID

3. 查看gc回收情况(gc.log为具体文件路径)

jstat -gcutil PID 1000 20 > gc.log

4. 查看JVM存活时长(uptime.log为具体文件路径)

jcmd PID VM.uptime > uptime.log

5. 导出dump文件(heap.hprof为具体文件路径)

jmap -dump:live,format=b,file=heap.hprof PID

6.导出堆栈(jstack.log为具体文件路径)

jstack -l PID > jstack.log

jstack -F PID > jstack.log

jstack PID > jstack.log

2. java业务问题排查

PV 量过高、服务调用耗时异常、线程死锁、多线程并发问题、频繁进行 Full GC、异常安全攻击扫描

1. 查看error日志

一般业务日常都会在日志中体现,查看error日志或者异常日志中的error关键字
tail -f error.log
cat
vi/vim

2. 数据库相关异常

关注日志中出现的Could not get JDBC Connection,JDBCException
查看数据库连接请求、是否连接数过大,是否出现死锁、查看数据库慢日志定位具体SQL

3. OutOfMemoryError

发生OOM问题一般服务都会crash,业务日志会有OutOfMemoryError。
OOM一般都是出现了内存泄露,须要查看OOM时候的jvm堆的快照,假设配置了-XX:+HeapDumpOnOutOfMemoryError, 在发生OOM的时候会在-XX:HeapDumpPath生成堆的dump文件。结合MAT,能够对dump文件进行分析。查找出发生OOM的原因.

posted @ 2022-03-21 15:06  与乐i  阅读(26)  评论(0编辑  收藏  举报
Live2D
// 生成目录索引列表 //侧边栏目录索引