面试题:JVM内存泄露服务器会有什么表现?怎么处理?

来源

阿里-技术-1面

我的回答

  • 刚开始内存泄露少的时候,没什么影响,到后面,会频繁的进行Full GC。
  • 面试官:那CPU的表现是怎样的呢?
    我:CPU使用率会很高,因为现在的垃圾回收器一般是使用的并行回收,会使用到多个CPU。

更完美的答案

  • 刚开始内存泄露少
    刚开始内存泄露少,没什么影响。

  • 频繁full gc+cpu利用率高
    但是内存泄露多的时候,会频繁的进行Full GC,这就会导致JVM对外部请求的响应速度变慢,并且CPU的使用率会很高,因为GC的时候,一般是使用并行回收,会使用到多个CPU。

  • OOM
    再进一步发展,通过频繁的Full GC,也无法回收内存来分配空间给新创建的对象的时候,就会出现内存溢出OOM。

  • 如何排查
    如果是在OOM之前发现了问题,可以使用jmap导出内存快照,然后查看里面有哪些常驻内存的对象,可以根据对象的大小进行查看,也可以根据对象的数量进行查看,初步排查大对象或者大量的相同的对象的泄露导致的问题。
    如果是在OOM之后发现了问题,可以通过在测试环境找问题,启动JVM前,要把发生OOM时导出内存快照这个参数启动,其实我们的生产环境都可以无脑把这个参数加上。然后对核心接口,经常访问的接口进行压测,然后找出内存泄露的对象。
    找到可疑对象之后,再在代码里面排查,重点排查的代码是上一个迭代发布的功能所涉及到的代码,因为产生内存泄露问题的代码,一般是在上个迭代开发出来的。

欢迎大家在评论区一起交流、指正

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/556408.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

进销存是什么?怎么快速上手制作进销存报表?

在现代商业运营中,进销存管理是企业持续稳健发展的关键组成部分。为了更好地把握库存状况、合理调配资源、提高决策效率,企业采用进销存报表是一种极为有效的手段。本文将从进销存的基本概念、报表的内容和意义,以及如何制作进销存报表等方面…

opencv的cmake报错

opencv编译报错 CMakeDownloadLog.txt #use_cache "D:/opencv/.cache" #do_unpack "ippicv_2021.8_win_intel64_20230330_general.zip" "71e4f58de939f0348ec7fb58ffb17dbf" "https://raw.githubusercontent.com/opencv/opencv_3rdparty/1…

Ctags的安装和使用

ctags 是一个代码跟踪软件 由于在源码中,具有海量的代码,如果我们在源码中找特定的代码,需要大量时间,但是ctags则可以快速寻找 安装: sudo apt-get install ctagsctags使用 ctrl] //代码跟踪 crlT //代码返回我们…

鸿蒙入门06-常见装饰器( 简单装饰器 )

装饰器是鸿蒙开发中非常重要的一个环节因为在很多地方我们都需要用到装饰器并且如果我们想高度的复用, 那么装饰器就是必不可少的一环接下来我们就来介绍一些常见的装饰器注意 : 所有装饰器首字母大写 Entry 用来装饰 struct 使用表示页面的入口 Component 装饰 struct, …

算法课程笔记——常用库函数

memset初始化 设置成0是可以每个设置为0 而1时会特别大 -1的补码是11111111 要先排序 unique得到的是地址 地址减去得到下标 结果会放到后面 如果这样非相邻 会出错 要先用sort排序 O(n)被O(nlogn)覆盖

Axure引用ECharts图表 解决火狐浏览器出错

Axure原型添加Echarts图表,没耐心看文章的可以直接下载示例 Axure中使用ECharts图表示例 1. 打开Axure新建页面 2. 页面添加元件 元件类型随意,矩形、动态面板、热区、图片 甚至段落都可以3. 命名元件 随意命名,单个页面用到多个图表时名…

【目标检测】Focal Loss

Focal Loss用来解决正负样本不平衡问题,并提升训练过程对困难样本的关注。 在一阶段目标检测算法中,以YOLO v3为例,计算置信度损失(图中第3、4项)时有目标的点少,无目标的点多,两者可能相差百倍…

为主机配置IP

第一种方法:nmcli #nmcli connection modify eth0 ipv4.method manual ipv4.addresses 172.25.254.100/24 ipv4.gateway 172.25.254.2 ipv4.dns 114.114.114.114 autoconnect yes #nmcli c up etho //激活网卡命令(网卡早就配好,只是修改ip就不用输入这条命令了) 第二…

SpringMVC(五)【拦截器】

前言 今天来把 SpringMVC 最后一部分学完,虽然课时很短,但是学起来还是很慢的,不过确收获很大。不得不感慨学大数据确实有必要把 SSM、SpringBoot 等各种 JavaEE 技术好好学一学,收获很大,尽管我们到现在 Java 代码写了…

循环双链表的操作

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍 收藏⭐ 留言​📝 每一个裂缝都是为透出光而努力&#…

BIM数据管理快速指南

在我的日常工作中,作为数字协作协调员,我花费大量时间收集、检查和管理各种 BIM 数据。 很多次收到一组数据后我就无奈地举手——质量远远达不到我可以使用的程度。 然后我会开始一个普通的数据清理过程。 我无数次咒骂过这种情况——大多数建设项目的人…

qt 开发 缩放比例问题 修复中

在日常开中,需要开启 高分辨率的支持,windows环境下,不是 字体缩放,就是分辨率模糊,缩放机制,并且开启了150%缩放,有点搞不明白,最后还是不行,先做个记录,在找…

windows部署pgsql

1、下载:Download PostgreSQL Binaries 2、创建data目录作为数据目录 3、初始化 bin目录执行命令: .\initdb.exe -D E:\pgsql\data -E UTF-8 --localechs -U postgres -W 输入密码直到完成 4、启动数据库 .\pg_ctl.exe -D E:\pgsql\data -l logfil…

[大模型]MiniCPM-2B-chat WebDemo部署

MiniCPM-2B-chat WebDemo部署 MiniCPM-2B-chat 介绍 MiniCPM 是面壁智能与清华大学自然语言处理实验室共同开源的系列端侧大模型,主体语言模型 MiniCPM-2B 仅有 24亿(2.4B)的非词嵌入参数量。 经过 SFT 后,MiniCPM 在公开综合性…

吴恩达机器学习笔记:第 8 周-13 聚类(Clustering)13.1-13.2

目录 第 8 周 13、 聚类(Clustering)13.1 无监督学习:简介 第 8 周 13、 聚类(Clustering) 13.1 无监督学习:简介 在这个视频中,我将开始介绍聚类算法。这将是一个激动人心的时刻,因为这是我们学习的第一个非监督学习算法。我们…

Nexus 私服禁止 release 包覆盖发布

按照 maven 规范,对仓库中的包使用 snapshot 和 release 进行了区分,前者每次可以覆盖发布,会以时间的方式保留之前的包,并将 snapshot 包依赖下载地址指向最新覆盖发布的包,顾名思义快照包是为了解决我们开发测试过程…

React-css-in-js技术

​🌈个人主页:前端青山 🔥系列专栏:React篇 🔖人终将被年少不可得之物困其一生 依旧青山,本期给大家带来React篇专栏内容:React-css-in-js技术 目录 1、简介 2、定义样式与使用 3、样式继承 4、属性传递 1、简介 …

Shortened LLaMA:针对大语言模型的简单深度剪枝法

🍉 CSDN 叶庭云:https://yetingyun.blog.csdn.net/ 论文标题 & 发表会议:Shortened LLaMA: A Simple Depth Pruning for Large Language Models(ICLR 2024 Workshop) 论文地址:https://arxiv.org/abs/…

Swift-22-复杂数据类型

枚举enum 本小节讨论的枚举是一种基础类型,并不是对象。在Swift中,枚举有很多高级特性。 语法结构 enum EnumName : Type { case... },其中Type可以省略,{}中定义的枚举体至少包含一个case语句。 一个简单的实现如下&#xff0c…

【Lattice FPGA 开发】Modelsim与Diamond联合仿真

本文讲解Modelsim与Diamond进行联合仿真步骤,以及对遇到问题的解决与说明。 文章目录 软件版本0. Diamond设置文件为仿真文件特别注意 1. Diamond设置仿真软件为Modelsim2. Modelsim编译Lattice的库文件2.1 新建文件夹存放库文件2.2 Modelsim中建立新的仿真库2.2.1…