首页 > 其他分享 >记录一个cpu彪高的BUG处理--jvm调优

记录一个cpu彪高的BUG处理--jvm调优

时间:2023-03-01 19:34:01浏览次数:46  
标签:5596 -- XX 调优 gc jvm 服务器 cpu

业务场景:游戏行业,N个服务器,要进行大批量的合服处理,玩家数据会上升,从新整理和服务器的分配情况和逻辑处理,正常开发后,当天白天正常,然后晚上高峰期开始玩家频繁反馈无法登录~~~

处理逻辑:

优先确认服务是否宕机,如果是,就重启,分析linux系统日志,根据宕机的原因进行处理即可;

再确认服务器情况,cpu、内存、硬盘、网络等等;

内存使用情况还算正常,还有30-40的余量空间,cpu很明显的异常:

 

 

再查询进程下线程的具体情况:

 

 

 

 再吧5675转16进制: 162b ,再查询堆栈信息

jstack 5656|grep -i -B 10 -A 50 162b

 

 

 可以确认,系统在疯狂GC~~~再查询gc的详情

jstat -gcutil 5596 1000 5;
jstat -gc -h3 5596 250 10;

 

 

 

 到此,确认是gc导致的bug~~~

首先把堆栈导出后,重启,先恢复系统

jstack -l 5596 > jstack.data;
jmap -histo  5596 > jmap.data;

那么如何解决呢?

1:优化代码

2:优化服务器

1的话工作量比较大,而且开头说道了内存其实是够够的~所以选2,jvm调优

根据jdk版本,选择调整:1.7是PermSize,大于的是MetaspaceSize

-Xmx3072m -Xms2048m -XX:PermSize=256M -XX:MaxPermSize=512M 

-Xmx3072m -Xms2048m -XX:CompressedClassSpaceSize=256m -XX:MetaspaceSize=256m -XX:MaxMetaspaceSize=512m

后续观察了几天,cpu都正常。

标签:5596,--,XX,调优,gc,jvm,服务器,cpu
From: https://www.cnblogs.com/simplemo/p/17169413.html

相关文章

  • 十六进制表示法
    一个字节由8位组成。在二进制表示法中,它的值域是00000000——11111111。如果看成十进制整数,它的值域就是0——255。此两种符号表示法对于描述位模式来说都不是非常方便:二进......
  • 记事本APP开发阶段一
    我现在正在做Activity_main主界面的设计,我在网上找了四个图片,充当添加,返回,删除,保存的按钮界面。 并且把这四个图片保存到res资源文件中。 之后,进行编写了主界面显示。......
  • K8S中的pod控制器
    一、Pod控制器及其作用Pod控制器,又称之为工作负载(workload),是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试进行重启,当根据重启策略无效,则......
  • 汇编语言语句格式
    通常一个语句常占一行(支持续行符“\”)一个语句不超过132个字符,4个部分执行性语句:表达处理器指令,实现功能标号:硬指令助记符操作数,操作数;注释说明性语句:表达伪指令,控......
  • 线程
    线程1.线程概述进程是CPU分配资源的最小单位,线程是操作系统调度执行的最小单位。线程是轻量级的进程,在Linux环境下线程的本质仍是进程。线程和进程的区别:进程间的信......
  • ShopWind 多商户商城更新,Vue 3 前后端分离,页面自定义装修
    本次为V4版本更新,新系统架构(技术栈)vue3 + vite (打包编译工具)+ Composition API(组合式 API setup) + Element Plus + vueRouter (路由)第三方组件:axios (数据......
  • TJA1020应用笔记(AN00093)
    1. itisdissuadedtoconnectNSLPdirectlytoaVCCsupplysource.NSLP最好不要与VCC直接连接。 2.(NLSPpin)Therangeoftheinputthresholdis chosento......
  • MAC 配置azure sql server
     {1安装azuredatastudio,再安装SQLDatabaseProjects,SQLServerSchemaCompare两个插件2安装docker拉取镜像dockerpullmcr.microsoft.co......
  • mac版本idea反编译jar包
    转载自:https://blog.csdn.net/weixin_38106322/article/details/124256656=========== 有时候线上出问题,日志不够细的情况下,线上代码又与本地不同,那么就要进行反编译操......
  • gitee 路飞
    0导出项目依赖#mac系统mysqlclient装不了,使用pymysql#本地用pymysql,上线使用mysqlclient#本地开发环境的依赖和上线环境依赖不一样#每个项目中都会有个requ......