简介
内存使用异常分析
工具
- MemoryAnalyzer(MAT)
- IntelliJ IDEA 2022
- Arthas
- JDK自带(Jmap、Jvisualvm、Jcmd、Jconsole、Jstack、…)
- …
环境背景
K8S部署Springboot项目,内存占用过大(800~1000MB)
JDK指令
- 配置
-Xms256m -Xmx512m -Xss512k -XX:NewRatio=1 -XX:SurvivorRatio=30
-XX:+HeapDumpOnOutOfMemoryError -XX:+PrintGCDateStamps
-XX:+PrintGCDetails -XX:+UseParallelGC -XX:+UseParallelOldGC
...
jps -l # 查看java进程
top -H -p [pid]
jmap -heap [pid]
jmap -dump:live.format=b,file=/apps/abc.hprof [pid]
Jvisualvm
Jvisualvm不做过多介绍
Jconsole
远程连接,启动增加如下命令:
-Dcom.sun.management.jmxremote.port=1100
-Dcom.sun.management.jmxremote.rmi.port=1100
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote=true
Arthas
官方文档很详细,直接参考:https://arthas.aliyun.com/doc/
IntelliJ IDEA 2022
可以集成 Jvisualvm
工具 或者 分析abc.hprof
文件
MAT
abc.hprof
文件分析
Last …
其他的工具或者方案可以留言分享讨论~
评论区