java 堆调优
一.查看kafka集群的broker的堆内存使用情况
1>.使用jstat查看gc的信息([root@kafka116 ~]# jstat -gc 12698 1s 30)
参数说明:S0C:第一个幸存区的大小 S1C:第二个幸存区的大小 S0U:第一个幸存区的使用大小 S1U:第二个幸存区的使用大小 EC:伊甸园区的大小 EU:伊甸园区的使用大小 OC:老年代大小 OU:老年代使用大小 MC:方法区大小 MU:方法区使用大小 CCSC:压缩类空间大小 CCSU:压缩类空间使用大小 YGC:年轻代垃圾回收次数 YGCT:年轻代垃圾回收消耗时间 FGC:老年代垃圾回收次数 FGCT:老年代垃圾回收消耗时间 GCT:垃圾回收消耗总时间
2>.使用jmap查看kafka当前的堆内存信息([root@kafka116 bin]# jmap -heap 12698)
经过上面两个图的分析,我们要观察伊甸区,幸存区以及年老代总体的使用量,发现他们的使用率都是80%以上呢!而且gc的评论是74万多次,过多的gc会将服务器的性能降低。因此考虑调大Kafka集群的堆内存(heap)是刻不容缓的事情。好,接下来我们如何去调试呢?以及将对内存调大应该注意那些事项呢?
第一:kafka集群不要集体修改,要一台一台的去调整,由于我有5台broker,它允许我挂掉2台broker;
第二:修改kafka-server-start.sh启动脚本,建议先改成15G(我的kafka集群的配置相对较低,32G内存,32core,80T硬盘),如果还是不够的话可以考虑继续加大heap内存的配置;
二.对kafka进行调优案例实操
1>.查看默认的配置
2>.修改kafka启动脚本的配置文件
3>.重启当前broker的Kafka服务
[root@kafka116 bin]# kafka-server-stop.sh #停止当前的kafka进程 [root@kafka116 bin]# [root@kafka116 bin]# kafka-server-start.sh -daemon /soft/kafka/config/server.properties #启动当前的kafka进程 [root@kafka116 bin]# [root@kafka116 bin]# [root@kafka116 bin]# jps #查看kafka进程是否启动 5460 Kafka 4246 ProdServerStart 23014 Jps [root@kafka116 bin]#
4>.查看调优后的内存
5>.查看调整后的JVM使用情况
当你的才华还撑不起你的野心的时候,你就应该静下心来学习。当你的能力还驾驭不了你的目标的时候,你就应该沉下心来历练。问问自己,想要怎样的人生。 欢迎加入 基础架构自动化运维:598432640,大数据SRE进阶之路:959042252
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2014-05-07 全面深入介绍C++字符串:string类
2013-05-07 监控ssh运行的例子 reverse forward
2013-05-07 shell脚本中使用其他用户执行脚本