我是靠谱客的博主 苗条毛巾,最近开发中收集的这篇文章主要介绍arthas 排查内存溢出_小白java系列-OOM问题排查实例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

dac3dc341a6413b5e309fa608081171f.png

通常jvm程序消失,或者内存占用过大

1.java程序占用内存过大,被操作系统杀掉

2.java程序出现OOM

出现OOM首先要拿到HeapDump日志信息

有以下方法:

  • java运行中添加-XX:HeapDumpOnOutMemoryError参数
  • jmap -dump:live,live,format=b,file="路径" pid
    (pid可以通过jps获取) 可以获取正在运行堆栈信息,但jmap都在线上运行会影响线上线程,所以可在测试环境下进行重现方式
  • 使用阿里的 arthas https://arthas.aliyun.com/doc/quick-start.html
    使用步骤:
curl -O https://arthas.aliyun.com/arthas-boot.jar
#显示全部进程 选择需要观察的序号
java -jar arthas-boot.jar
#选了序号后 等待片刻进入目标进程
#dump到指定文件
heapdump /tmp/dump.hprof
#只dump live对象
heapdump --live /tmp/dump.hprof
#介绍几个其他常用的指令
dashboard #展示当前进程的信息
thread id #打印线程ID的栈信息
thread -b #可以查看方便查看死锁
jad *.class #可以获取class的反编译代

最后

以上就是苗条毛巾为你收集整理的arthas 排查内存溢出_小白java系列-OOM问题排查实例的全部内容,希望文章能够帮你解决arthas 排查内存溢出_小白java系列-OOM问题排查实例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部