原文:记一次使用visualVM分析GroovyClassLoader加载机制导致频繁gc的性能问题

一 现象描述 通常使用如下代码在Java 中执行 Groovy 脚本: 时,每次执行groovyLoader.parseClass groovyScriptFile ,Groovy 为了保证每次执行的都是新的脚本内容,会每次生成一个新名字的Class文件对象。但当对同一段脚本每次都执行这个方法时,会导致的现象就是装载的Class会越来越多,从而导致PermGen占用过高,甚至被用满。如下图 所示。 ...

2020-06-03 16:12 0 565 推荐指数:

查看详情

一次jvm oom 导致docker容器频繁重启问题排查

应用部署在docker容器中,日志无报错,docker却有多次重启记录,Nginx监控报警 过程: 1.执行top命令查看内存占用情况    很干净的容器,只有java进程在运行 2.查看jvm情况   2.1 查看heap堆大小,可以使用jinfo -flags PID 查看 ...

Tue Oct 13 00:51:00 CST 2020 0 879
一次对象过大引起的gc性能问题分析与定位

现象:一个接口在4C的机器上跑最大只有7TPS,CPU使用率就已经90%多。 定位: 1、 使用top命令查看CPU使用情况,找到进程号 2、 使用top -H -pid命令,查看进程信息,看到有四个进程CPU占用很高,加一起已经超过100%: 3、 查看具体 ...

Fri Dec 29 03:15:00 CST 2017 0 2561
一次频繁Full GC问题排查过程分享

问题描述 应用收到频繁Full GC告警 问题排查 登录到对应机器上去,查看GC日志,发现YGC一分钟已经达到了15,比Full GC还要频繁一些,其中Full GC平均10分钟超过了4,如下图 使用jstat -gcutil 5280 1000查看实时GC情况 ...

Wed Nov 07 17:31:00 CST 2018 4 8013
[JVM]一次线上频繁GC问题解决

起因:周末测试发现线上mq消息积压了十几万的消息,如下图所示 每个队列几万的消息,立即采取紧急措施,将队列下线重新上线。 处理积压消息的量,调用量起来了,很快消息积压解决了。开始事件复盘。 首先分析是否是消息消费能力跟不上消息产生原因,看入口消息,QPS是29.6 消息消费 ...

Thu Mar 21 01:27:00 CST 2019 0 2130
一次jvm疯狂gc导致CPU飙高的问题解决

记录一次java虚拟机CPU飙高的异常处理 线上web服务器不时的出现非常卡的情况,登录服务器top命令发现服务器CPU非常的高, 重启tomcat之后CPU恢复正常,半天或者一天之后又会偶现同样的问题。 解决问题首先要找到问题的爆发点,对于偶现的问题是非常难于定位的。 重启服务器之后只能 ...

Wed Jan 01 00:16:00 CST 2020 0 2159
一次docker问题定位(perf,iostat等性能分析)

背景 最近参与的项目是基于 OpenStack 提供容器管理能力,丰富公司 IaaS 平台的能力。日常主要工作就是在开源的 novadocker 项目(开源社区已停止开发)基础上进行增强,与公司的其他业务组件进行对接等。 周末给下游部门的 IaaS 平台进行了一次升级,主要升级 ...

Fri Apr 27 18:29:00 CST 2018 4 3482
使用VisualVM分析性能

对于java虚拟机,像我这样工作才两年的会是比较陌生和神秘,但是时候,需要对JVM有一定的认识,并且能够设置一些参数。下面是自己学习到的内容。 这里需要使用一个java自带的一个工具,VisualVM使用IDEA下载一个VisualVM。 一、查看程序的JVM内存 首先任务参数 ...

Tue Dec 25 07:57:00 CST 2018 3 1244
使用VisualVM分析性能

,同时它还支持在 MBeans 上进行浏览和操作。本文主要介绍如何使用 VisualVM 进行性能分析及调优。 ...

Tue Nov 08 00:21:00 CST 2016 0 13515
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM