海风影像馆 海风影像馆
首页
扎根医疗
学习笔记
技术实战
项目管理
影像空间
驴行天下
阳明心学
  • 学习方法
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 分类
  • 标签
  • 归档

知行旅人

生有热烈,藏于俗常。
首页
扎根医疗
学习笔记
技术实战
项目管理
影像空间
驴行天下
阳明心学
  • 学习方法
  • 心情杂货
  • 实用技巧
  • 友情链接
  • 分类
  • 标签
  • 归档
  • 编程笔记

  • 源码阅读

  • 技巧备忘

  • 问题排查

    • Jprofiler内存排查
    • CPU飙高排查
    • FULLGC频繁排查
      • 1 获取dump文件
    • 阿尔萨斯(Arthas)
    • 常见开发问题记录
  • 安装部署

  • 博客搭建

  • 技术实战
  • 问题排查
zhixinglvren
2022-04-30
目录

FULLGC频繁排查

# 1 获取dump文件

排查FUllGC频繁,一般都是获取到当时的dump文件,分析内存里都有哪些数据占用较多内存。

有两种办法可以获取dump文件

  1. 通过在jvm里添加参数:+HeapDumpBeforeFullGC +HeapDumpAfterFullGC 这种方法需要在应用启动前要提前配置好。

  2. 使用jinfo命令进行设置。(生产环境常用的方法)

无需重启jvm,即时生效,dump文件生成后,清除JVM参数,通常 fullgc 会频繁发生,拿到一次的dump采样后,清除参数,然后慢慢分析dump文件

第一步,通过jps获得java程序的pid(jps,ps等方法)

#jps
5940 Main
3012 Jps
1
2
3

第二步,调用jinfo命令设置JVM参数

#jinfo -flag +HeapDumpBeforeFullGC 5940
#jinfo -flag +HeapDumpAfterFullGC 5940

#jinfo -flags pid 检查有没有生效
1
2
3
4

下次发生fullgc时就会生成dump文件,dump文件取到后我们就可以清除原来设置的参数:

#jinfo -flag -HeapDumpBeforeFullGC 5940
#jinfo -flag -HeapDumpAfterFullGC 5940

#jinfo -flags pid 检查有没有生效
1
2
3
4

dump文件可以借助MAT、Jprofiler等工具分析。

上次更新: 2022/11/24, 17:59:25
CPU飙高排查
阿尔萨斯(Arthas)

← CPU飙高排查 阿尔萨斯(Arthas)→

最近更新
01
Linux常用指令
11-24
02
GitHub高级搜索技巧
11-24
03
散列表
11-09
更多文章>
Theme by Vdoing | Copyright © 2020-2023 知行旅人 | MIT License | 粤ICP备20036515号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式