博客
关于我
GC overhead limit exceeded
阅读量:648 次
发布时间:2019-03-15

本文共 1388 字,大约阅读时间需要 4 分钟。

GC Overhead Limit Exceeded 错误的解决方法及 JVM 调优分析

GC Overhead Limit Exceeded 错误通常表明 JDK 的垃圾回收机制在长时间运行中占用了过多 CPU 资源。这种情况下,JVM 可能会因为垃圾回收част surrogate 吞吐量大幅下降而变得非常缓慢。以下是解决该问题的关键步骤和方法:

1. 增加 JVM 的堆内存

首先,增加 JVM 的堆内存可以为了减少内存压力而为运行时数据留出更多空间。具体操作如下:

  • 在启动 JVM 时,通过 -Xms-Xmx 参数指定初始内存和最大内存。

  • 注意:两者应设置为相同值,以避免新生成对象占用过多内存。

    示例:

    java -Xms100m -Xmx100m -jar yourApplication.jar

2. 关闭 GC Overhead Limit

为了完全关闭 GC Overhead Limit,可以通过VM参数 -XX:-UseGCOverheadLimit 进行设置:

java -XX:-UseGCOverheadLimit -Xms128m -Xmx128m -jar yourApplication.jar

3. 分析堆栈和内存状态

添加足够的内存后,接下来进行深入的性能分析。以下是一些常用的 JVM 工具:

a. 查看 JVM 运行状态

使用 jps 工具可以快速查找当前运行的 JVM 进程ID:

jps -ml

expect 将获取到的 PID 作为后续分析的依据。

b. 查看线程栈状态

使用 jstack 工具可以打印当前 JVM 的线程栈信息:

jstack -l pid

通过查看线程栈,可以了解是否存在内存泄漏或过多的异步操作对性能的影响。

c. 分析类的加载和内存占用

使用 jmap 工具可以查看堆内存的详细使用情况,包括类的数量和对内存的占用:

jmap -histo pid | more

通过分析可知,内存中存在较多的ively-circulated对象可能导致垃圾回收压力增大。

4. 导出内存.dump 文件

如果上述分析无法充分发现问题,可以通过生成内存dump文件进行进一步调查:

jmap -dump:format=b,file=dump.hprof pid

文件可能较大,建议确保执行时目标目录有足够的磁盘空间。此外,使用MAT(Memory Analysis Tool)来分析生成的.dump 文件,可以更直观地识别内存泄漏和性能瓶颈。

5. 相关问题的其他解决方案

如果无法获取内存dump文件,可以通过检查内存中现有对象的数量和内存布局来进行初步分析:

a. 检查内存使用情况

使用 jmap 工具可以查看当前堆内存的使用情况:

jmap -heap pid

b. 分析内存碎片

有时,内存碎片问题可能会导致实际可用内存远低于实际内存限制。查看内存碎片情况可以帮助确认内存是否被有效利用:

vmstat -m pid

通过分析内存分配情况,可以发现是否存在内存碎片过多的问题。

结语

通过上述方法,可以快速定位和解决 JVMgc压力过大的问题。从内存分配策略到详细的性能分析,每一步都至关重要。关键是在实践中结合具体情况,灵活调整 JVM 参数,并定期进行内存分析,以确保 JVM 和应用的健康运行。

转载地址:http://nicmz.baihongyu.com/

你可能感兴趣的文章
机器学习全教程
查看>>
ubuntu配置环境变量(变量不重复)
查看>>
idea在连接mysql数据库时区错误
查看>>
2021-05-14
查看>>
Kali-linux:nmap命令
查看>>
php端口直驱网络打印机,能自定义格式
查看>>
s3c2440 ads程序移植到keil中(一) 初步完成
查看>>
工程经济—建设工程定额
查看>>
工程经济—工程量清单编制
查看>>
1Z204050、施工质量不合格的处理
查看>>
1Z308020、民事诉讼制度
查看>>
JSP中的九大内置对象
查看>>
【字节网盘】九款超好看不同页面404源码
查看>>
两款404页面自动跳转源码html
查看>>
二改广告横幅在线制作源码 美化版
查看>>
服饰贴图定制小程序V1.2.4安装更新一体包+小程序前端
查看>>
一款好看新颖的404页面源码
查看>>
创意沙雕黑色蝙蝠侠/小丑动态404页面源码
查看>>
使用Mac OS X如何开启和配置防火墙
查看>>
格式化Mac硬盘---DoYourData Super Eraser安全、快速
查看>>