FullGC了怎么办?

news2024/9/30 13:27:45

什么情况下回触犯FullGC

  • 使用了大对象 //大对象会直接进入老年代
  • 在程序中长期持有了对象的引用 //对象年龄达到指定阈值也会进入老年代
  • JVM内存设置不合理

FullGC出现的表象

  • CPU飙升或忽高忽低;
  • 程序性能不问题,接口响应时间比较长。

如何判断FullGC

  • 通过监控工具或告警,如Prometheus
  • 通过jstat指令
    可以通过ps -ef|grep java 或者 jsp获得java进程号,下面实例中java进程号就是56
jps
71 Jps
56 DemoApplication

通过jstat -gc 56 5000
即会每5秒一次显示进程号为56的java进成的GC情况,FGC、FGCT分别代表FullGC次数和时间,来初步判断是否为FullGC。

 S0C    S1C    S0U    S1U      EC       EU        OC         OU       MC     MU    CCSC   CCSU   YGC     YGCT    FGC    FGCT     GCT
1024.0 1024.0  0.0    0.0   15872.0  13251.7   42496.0     488.1    4864.0 3526.0 512.0  380.5       7    0.016   0      0.000    0.016
512.0  1024.0  0.0    0.0   15872.0  11066.6   42496.0     488.1    4864.0 3526.0 512.0  380.5       8    0.018   0      0.000    0.018
1024.0 1024.0  0.0    0.0   15872.0   7599.2   42496.0     488.1    4864.0 3526.0 512.0  380.5       9    0.019   0      0.000    0.019

如何定位内存问题导致FullGC

一个解决房方案是,在其中一台机子上开启- XX:HeapDumpBeforeFullGC

另一个就是dump出来文件。
jmap -dump:format=b,file=/my.dump 56
导出56进程的java程序的整个JVM信息。

jmap -dump:format=b,file=/my.dump 56
Dumping heap to /my.dump ...
Heap dump file created

再通过MAT、VisualVM等工具导入查看。如果手头没有这样的工具,可以试试通过下面指令简单看看。
jmap -heap 56 查看进程号为56的Java程序的整个jvm内存状态
jmap -histo 56 查找进程号为56的java程序的jvm堆中对象详细占用情况

jhat -port 9998 /tmp/dump.dat

Reading from /tmp/dump.dat...
Dump file created Tue Jan 28 17:46:14 CST 2014
Snapshot read, resolving...
Resolving 132207 objects...
Chasing references, expect 26 dots..........................
Eliminating duplicate references..........................
Snapshot resolved.
Started HTTP server on port 9998
Server is ready.

然后就可以在浏览器中输入主机地址:9998查看了。
在这里插入图片描述
参考:

  • jvm调优监控工具jps、jstack、jmap、jhat、jstat使用详解

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ChatGLM GPU多卡并行训练

1.为什么要使用多GPU并行训练 简单来说,有两种原因:第一种是模型在一块GPU上放不下,两块或多块GPU上就能运行完整的模型(如早期的AlexNet)。第二种是多块GPU并行计算可以达到加速训练的效果。想要成为“炼丹大师“,多GPU并行训练是不可或缺的技能。 2. 常见的多GPU训练方…

探讨UUID和Secrets:确保唯一性与数据安全的利器

😀前言 在现代软件开发中,唯一标识符(UUID)和机密信息的处理是至关重要的。UUID是用于唯一标识数据记录和对象的128位值,确保了全球范围内的唯一性。同时,Python的secrets模块为处理机密信息提供了强大的随…

构造二叉树(已知前序遍历,中序遍历,求后序遍历)

此题涉及到的<unordered_map>所建立的哈希表,没有多复杂&#xff0c;但对构造树方面确是很方便&#xff0c; 有时候掌握一些这样的额外知识&#xff0c;对编程大有帮助&#xff0c;例如vector容器&#xff0c;string类型等等。千里之行&#xff0c;始于足下。不停积累编…

GE WES5302-150 数字量控制模块

GE WES5302-150 是一款数字量控制模块&#xff0c;通常用于工业自动化和控制系统中&#xff0c;主要用于数字信号的输入和输出控制。以下是该模块的一些主要产品功能&#xff1a; 数字量输入&#xff1a;WES5302-150 模块通常具有多个数字输入通道&#xff0c;用于接收数字信号…

浏览量5.54亿,“平替大军”击退“钱包刺客”?丨小红书消费趋势分析

当代年轻人的消费观念&#xff0c;从贷款买大牌的“精致穷”&#xff0c;逐渐演变为人间清醒式地购物...他们爱上麦当劳的“穷鬼套餐”&#xff0c;爱喝瑞辛9.9元畅饮&#xff0c;爱和小学生成为“饭搭子”吃小饭桌&#xff0c;爱买低价打折出售的剩菜盲盒&#xff0c;爱出门吃…

Java“牵手”淘宝商品列表页数据采集+淘宝商品价格数据排序,淘宝API接口申请指南

淘宝商城商品平台介绍如下&#xff1a; 淘宝网是亚洲最大的购物网站&#xff0c;由阿里巴巴集团于2003年5月创立。淘宝网在不断发展的过程中&#xff0c;逐步形成了具有特色的购物网站。淘宝商城是淘宝网全新打造的B2C购物平台&#xff0c;成立于2008年4月10日。随着淘宝网规模…

用户参数(zabbix-agent)

-s 指向被监控端地址 -p 指向被监控端端口 -k 指向key的名字 监控内存使用率 agent vi a.conf server web界面 对数据库的avg进行监控 systemctl 创建监控项 另一台 重启 agent 监控请求数 运行时间 对自定义key的理解 写下想要监控的任何参数命令&#xff0c;利用zabbix…

【C++面向对象侯捷】1.C++编程简介

文章目录 视频来源&#xff1a;我的百度网盘

arcgis 面要素相交

假设有绿色面图层和紫色面图层&#xff0c;绿色图层有两个区域aa和bb&#xff0c;现在想得到紫色图层分别落在aa和bb上的部分&#xff0c;并附上属性值。 要用到相交功能。 ArcToolbox - Analysis Tools - Overlay - Intersect 输入&#xff1a;把涉及到的两个图层都输入进去…

【工具】咸鱼之王辅助小助手来了!

自动答题的视频演示&#xff1a;【工具】咸鱼之王辅助小助手来了!_哔哩哔哩_bilibili 刚开始搞&#xff0c;还没来得及做界面&#xff0c;目前只做了自动答题。 欢迎感兴趣的大佬一起来开发~

使用Leaflet对WMS做空间几何范围查询

一、需求 使用GeoServer发布的WMS服务对WMS做空间范围查询&#xff0c;默认情况下WMS支持点击查询&#xff0c;网上有很多的资料不在赘述。那么WMS做几何查询该怎么实现呢&#xff1f; 二、实现路径 查询WMS查询的服务参数&#xff0c;WMS支持三种请求方式&#xff1a;GetCapa…

git 私有创建分支,合并及发布主干

文章目录 概要整体架构流程技术细节小结 概要 整体架构流程 例如&#xff1a; clone 复制代码下载地址到本地文件夹&#xff0c;并显示在idea上面new Branch 创建新的分支Repositories 本地资源&#xff0c;从本地资源创建分支Romote 远程 技术细节 提示&#xff1a;这里可…

为了这辆 G9,小鹏「砍了10个高管」

作者 | 张祥威 编辑 | 德新 “在25到30万之间的中高端SUV市场做到中国第一。” 9月19日&#xff0c;小鹏G9 2024款上市&#xff0c;何小鹏再战G9。 2024款的小鹏G9 共有5个版本&#xff1a; •650 Max 35.99万元 •702 Max 30.99万元 •570 Max 28.99万元 •702 Pro 28.39万…

ctf web基础php

1.preg_match函数绕过 1.数组绕过 <?php $pass$_GET[zx]; if(!preg_match("/admin/",$zx)false){die(hacker); } echo flag; ?> ?zx[]admin 2.换行符绕过 <?php $pass$_GET[zx]; if(!preg_match("/^.(admin).$/",$zx)false){die(hacker)…

兽医诊所温湿度失衡,该如何止损?

在现代社会中&#xff0c;宠物已经成为家庭的一员&#xff0c;人们越来越重视宠物的健康和幸福。兽医诊所作为照顾和治疗宠物的重要场所&#xff0c;不仅承担着宠物医疗护理的责任&#xff0c;还肩负着确保宠物在诊所内舒适、安全的任务。 然而&#xff0c;很多时候&#xff0c…

JMeter接口测试之文件上传

最近用JMeter做接口测试&#xff0c;频繁遇到了文件上传的接口&#xff0c;与其他一般接口的处理方式不一样&#xff0c;想着分享下&#xff0c;希望能给测试同学一点启发。 文章将围绕三个部分进行展开&#xff1a; 一、用户场景 二、接口请求参数 三、JMeter脚本编写步骤…

数字孪生相关政策梳理--数字孪生整体规划(可下载)

自2021年国家“十四五”规划纲要提出“探索建设数字孪生城市”以来&#xff0c;国家发展和改革委员会、工业和信息化部、住房和城乡建设部、水利部、农业农村部等部门纷纷出台政策&#xff0c;大力推动数字孪生在千行百业的落地发展。这些政策不仅为数字孪生的应用提供了广阔的…

期权策略篇: 实现买方狂欢,让卖方稳赚不赔的策略

欢迎来到期权策略篇: 实现买方狂欢&#xff0c;让卖方稳赚不赔的策略&#xff0c;今天给大家带来的期权策略比较简单&#xff0c;是我们比较常见的四种单腿期权策略&#xff0c;这四种策略分别是买入看涨期权、买入看跌期权、卖出看涨期权、卖出看跌期权策略。本文来自&#xf…

C. Binary Strings are Fun

Problem - C - Codeforces 思路&#xff1a;我们发现如果sisi-1&#xff0c;那么假设为00&#xff0c;用f[i-1]表示si-1能够组成的合法的个数&#xff0c;那么si-1扩展的字符串中至少会有i-1个0&#xff0c;那么si有两种放法&#xff0c;1种是放一个1&#xff0c;一种是放一个0…