java
2023-05-16
2023-05-16
情操要高尚!成为我们真正荣誉的,是我们自己的心,而不是他人的议论。——席勒
今天发现线上CPU又百分百了。。。
于是开始使用arthas排查
1 | |
然后选择对应的web项目
首先我执行了dashboard命令
发现heap为百分之九十几的占用,那我直接执行
1 | |
然后下载到本地,再下载一个MAT(Memory Analyzer Tool)进行分析

下载地址:https://www.eclipse.org/mat/downloads.php
我们解压,打开(需要配置java17环境变量)后点击Open Heap Dump

然后选择我们的hprof文件
然后报错

点击Details >>才发现原来是内存不足,我们设置下内存大小
打开MemoryAnalyzer.ini,修改-Xmx1024m为合适的大小

这里点击Histogram查看对象占用

发现fastjson的JSONArray占用挺高

以及有个定时任务

于是进行了相关的代码处理,调整了定时任务,更换了fastjson为hutool-json之后就好了