当前位置: 首页 > article >正文

JVM问题排查分析

\1. 查询业务日志,可以发现这类问题:请求压力大、波峰、遭遇降级、熔断等等,基础服务、外部 API 依赖。

\2. 查看系统资源和监控信息:

  • 硬件信息、操作系统平台、系统架构
  • 排查 CPU 负载
  • 内存不足
  • 磁盘使用量、硬件故障、磁盘分区用满、IO 等待、IO 密集、丢数据、- 并发竞争等情况
  • 排查网络:流量打满,响应超时,无响应,DNS 问题,网络抖动,防- - 火墙问题,物理故障,网络参数调整、超时、连接数

\3. 查看性能指标,包括实时监控、历史数据。可以发现假死、卡顿、响应变慢等现象。

  • 排查数据库,并发连接数、慢查询、索引、磁盘空间使用量、内存使用量、网络带宽、死锁、TPS、查询数据量、redo 日志、undo、binlog 日志、代理、工具 Bug。可以考虑的优化包括:集群、主备、只读实例、分片、分区。
  • 大数据、中间件、JVM 参数。

\4. 排查系统日志,比如重启、崩溃、Kill。

\5. APM,比如发现有些链路请求变慢等等。

\6. 排查应用系统:

  • 排查配置文件:启动参数配置、Spring 配置、JVM 监控参数、数据库参数、Log 参数、APM 配置。
  • 内存问题,比如是否存在内存泄漏,内存溢出、批处理导致的内存放大、GC 问题等等。
  • GC 问题,确定 GC 算法、确定 GC 的KPI,GC 总耗时、GC 最大暂停时间、分析 GC 日志和监控指标:内存分配速度,分代提升速度,内存使用率等数据。适当时修改内存配置。
  • 排查线程,理解线程状态、并发线程数、线程 Dump,锁资源、锁等待、死锁。
  • 排查代码,比如安全漏洞、低效代码、算法优化、存储优化、架构调整、重构、解决业务代码 Bug、第三方库、XSS、CORS、正则。
  • 单元测试:覆盖率、边界值、Mock 测试、集成测试。

\7. 排除资源竞争、坏邻居效应。

\8. 疑难问题排查分析手段:

  • DUMP 线程
  • DUMP 内存
  • 抽样分析
  • 调整代码、异步化、削峰填谷

http://www.kler.cn/a/379058.html

相关文章:

  • 运维工具之docker入门
  • Rust 力扣 - 1423. 可获得的最大点数
  • C#如何封装将函数封装为接口dll?
  • Rust 力扣 - 1493. 删掉一个元素以后全为 1 的最长子数组
  • 【NOIP提高组】Hankson的趣味题
  • Cocos使用精灵组件显示相机内容
  • 探索开源语音识别的未来:高效利用先进的自动语音识别技术20241030
  • 刘艳兵-DBA016-在您的数据库中,SALES表存在于SH用户中,并且启用了统一审计。作为DBA,您成功执行了以下指令:
  • 《Python网络安全项目实战》项目2 Python基础练习_总复习(1)
  • Vscode使用launch.json进行传参调试代码
  • 进程间通信Linux
  • 如何更新已经发布的 NPM 组件库
  • 青春的海洋:海滨学院班级回忆录项目
  • Rust 力扣 - 54. 螺旋矩阵
  • Python小游戏19——滑雪小游戏
  • 引领数字时代:万码优才如何变革IT人才招聘新体验(这里有更精准的推荐)
  • 电赛入门之软件stm32keil+cubemx
  • hadoop面试题
  • ios Framework版本号的问题。
  • 统信UOS设备驱动开发-调试优化
  • 【LeetCode:3226. 使两个整数相等的位更改次数 + 模拟 + 位运算】
  • 牛客网最新Java高频面试题汇总(2024最新含答案)
  • android h5页面获取不到定位数据的问题
  • WPS 中使用PPT导出视频
  • 面试题:JVM(三)
  • 定时启停Nginx服务