记一次CPU 100%问题排查过程

本文记录了一次服务器CPU达到100%的问题排查过程,通过使用命令行工具、JVM参数设置生成堆转储文件,借助阿里云OSS辅助下载和分析,最终发现由于大量Excel对象导致内存占用过高。解决方案包括限制导出数据行数、使用easyExcel优化Excel导出,有效避免了内存溢出和CPU过载。
摘要由CSDN通过智能技术生成

由于公司扩展海外业务,开放了日本、韩国市场,服务器也就部署在日本。但是最近却出现频繁应用挂掉、CPU动不动就飙升到100%的问题,只能让运维重启服务器。问题还是需要根治。

1、首先,一般是操作人员发现,系统无法登录、操作任何菜单,点击界面跟后端交互的接口一直毫无响应。这时,我们在服务器查看,使用命令:top ,发现一个java进程一直处于100%;

2、第二步,本来按照问题查找的一般过程,我们接下来是需要通过top -Hp <pid>命令查看当前进程的各个线程运行情况,找出CPU过高的线程之后,将其线程id转换为十六进制的表现形式,然后在jstack日志中查看该线程主要在进行的工作。但是问题在于cpu已经100% 了,操作命令效率极低,况且用户就是上帝 ,他们不会给你这么多时间去排查问题,需要尽快重启系统。这里,采用命令

-XX:+HeapDumpOnOutOfMemoryError 

-XX:HeapDumpPath=/path/heap/dump 

将dump日志输出到指定文件夹内,然后在使用工具对 对象数量,内存占用,线程情况等进行分析查看。

3、经过上面的操作,我们已经完成了日志文件的记录。但是问题又来了,服务器不方便对日志进行直接分析,需要下载到本地,而服务器部署在国外 ,文件大小超过5个G

使用服务器动不动就下载失败,还无法支持断点续传࿰

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值