一次因生产事故与chatGpt的对话

前言:生产出现了一个内存溢出的事故,记录错误信息。错误日志如下
org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.OutOfMemoryError: Java heap space
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1055) ~[spring-webmvc-5.2.11.RELEASE.jar!/:5.2.11.RELEASE]
..........

一问答

二问答

三问答

四问答

五问答

六问答

七问答

八问答

九问答

十问答

知识小结:

1. Java运行参数

堆 :是JVM 运行时一块内存区域,用于存储创建的对象和数组。当需要创建新对象时,JVM 会在堆空间中分配一块连续的空闲区域,用于存储该对象。

  1. -Xms :用于指定堆空间的初始值
  2. -Xmx :用于指定堆空间的最大值,过小容易出现OutOfMemoryError,
  3. -Xmn :设置新生代堆的大小,在整个堆大小(包括新生代堆和老年代堆)已经被设置的情况下。它的默认值通常是整个堆大小的 1/4 或者 1/8。
  4. -XX:+UseG1GC :使用 G1 垃圾回收器。G1 垃圾回收器是 Java 7 中引入的一种新的垃圾回收器,适用于大内存应用程序,并且能够在较短的停顿时间内处理大型堆。
2. 监控与计算服务器内存
  1. free 静态显示内存使用情况,可直接用于计算内存使用率。

  2. top 可动态监控,且可查看某些进程的使用情况

​ 3. 内存使用率的计算公式,若内存使用率超过 70%,就容易发生内存溢出

Memory Usage = (MemTotal - MemFree - Buffers - Cached) / MemTotal * 100
3. 事故解决方案
  1. 加大最大堆值Xmx ,原是512m 后增之1024m。
  2. 内存使用率超过 70%(约为75%),建议增加内存。

一次因生产事故与chatGpt的对话的更多相关文章

  1. 一次 select for update 的悲观锁使用引发的生产事故

    1.事故描述 本月 8 日上午十点多,我们的基础应用发生生产事故.具体表象为系统出现假死无响应.查看事发时间段的基础应用 error 日志,没发现明显异常.查看基础应用业务日志,银行结果处理的部分普遍 ...

  2. 生产事故(MongoDB数据分布不均解决方案)

    可以很明显可以看到我们这个集合的数据严重分布不均匀. 一共有8个分片,面对这个情况我首先想到的是手动拆分数据块,但这不是解决此问题的根本办法. 造成此次生产事故的首要原因就是片键选择上的问题,由于片键 ...

  3. 记一次重大生产事故,在那 0.1s 我想辞职不干了!

    一.发生了什么? 1.那是一个阳光明媚的下午,老婆和她的闺蜜正在美丽的湖边公园闲逛(我是拎包拍照的). 2.突然接到甲方运营小妹的微信:有个顾客线上付款了,但是没有到账,后台卡在微信支付成功(正常状态 ...

  4. 从一次生产事故说起——linux的单用户模式,救援模式等等

    伴随着今年linux上面最大一个安全漏洞bash漏洞的出现,我们公司也開始了风风火火的漏洞修复工作,机器一多,也就easy出问题,有台64位的linuxserver一不小心就升级了32位 bash 的 ...

  5. 「生产事故」MongoDB复合索引引发的灾难

    前情提要 11月末我司商品服务的MongoDB主库曾出现过严重抖动.频繁锁库等情况. 由于诸多业务存在插入MongoDB.然后立即查询等逻辑,因此项目并未开启读写分离. 最终定位问题是由于:服务器自身 ...

  6. Insert into select语句引发的生产事故

    前言   Insert into select请慎用.这天xxx接到一个需求,需要将表A的数据迁移到表B中去做一个备份.本想通过程序先查询查出来然后批量插入.但xxx觉得这样有点慢,需要耗费大量的网络 ...

  7. 【生产事故调查】优化出来的bug-合并集合重复项

    本来是要修复前一个代码bug,修复的过程中发现原本的代码又丑又长,复用性差(但是能用),出于强迫症忍不住的去优化,测试还不充分,火急火燎的发到生产了,结果掉井了!导致多个订单线下物流发货发多了.... ...

  8. 记一次生产事故的排查与优化——Java服务假死

    一.现象 在服务器上通过curl命令调用一个Java服务的查询接口,半天没有任何响应.关于该服务的基本功能如下: 1.该服务是一个后台刷新指示器的服务,即该服务会将用户需要的指示器数据提前计算好,放入 ...

  9. 一次 Redis 事务使用不当引发的生产事故

    这是悟空的第 170 篇原创文章 官网:http://www.passjava.cn 你好,我是悟空. 本文主要内容如下: 一.前言 最近项目的生产环境遇到一个奇怪的问题: 现象:每天早上客服人员在后 ...

  10. 记一次小型生产事故 | BeyondComper跨编码方式复制文件内容

    前言 今天组长在做站内巡检的时候,发现header内有一条meta标签的content显示为乱码. <meta name="description" content=&quo ...

随机推荐

  1. scala的运算符

    1.算数运算符 与java基本一样,只有个别细节不一样 (1).除法的区别:整数/整数 结果为整数(小数部分直接舍掉了):小数/整数 结果为小数: 例如:val result = 10.0 / 3 p ...

  2. Centos7下搭建部署DoClever接口管理平台

    项目地址: github:https://github.com/sx1989827/DOClever 码云:https://gitee.com/sx1989827/SBDoc 1.根据官方文档,先安装 ...

  3. requests模块获取cookie -----class 'requests.cookies.RequestsCookieJar'

    #coding=utf-8 import requests url="http://www.baidu.com" response=requests.get(url) cookie ...

  4. pip下载时使用国内镜像 设置pip.ini文件

    https://blog.csdn.net/u011107575/article/details/109901086 https://www.python.org/ftp/python/https:/ ...

  5. 运行python脚本报错:selenium.common.exceptions.SessionNotCreatedException: Message: session not created

    运行python脚本报错:selenium.common.exceptions.SessionNotCreatedException: Message: session not created 原因: ...

  6. 狂神的学习笔记demo11(包机制)

    无法生成子包的问题:设置图标里的Compact Middle Packages勾去掉 //定义包 package package com.panda.base1; //导入包import import ...

  7. JSP中动态include和静态include的区别

    a.静态include:语法:<%@ include file="文件名" %>,相当于复制,编辑时将对应的文件包含进来,当内容变化时,不会再一次对其编译,不易维护. ...

  8. Asp.net zero项目框架和配置

  9. Hive使用Tez作为计算引擎,hive启动报错

    1.问题描述: (1)问题示例: 1)hive使用配置文件hive-site.xml配置tez为计算引擎,hive登录报错: [Hadoop@master Tmp]$ hiveHive Session ...

  10. element-ui el-tree 内容过多出现横向滚动条

    /deep/ .el-tree>.el-tree-node { display: inline-block; min-width: 100%;}