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使用情况

java 堆调优的更多相关文章
- Java性能调优笔记
Java性能调优笔记 调优步骤:衡量系统现状.设定调优目标.寻找性能瓶颈.性能调优.衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈).性能调优结束. 寻找性能瓶颈 性能瓶颈的表象:资源消耗过多. ...
- 性能测试系列-java gc调优
性能测试中除了需要做好性能测试外,我们还需要做性能测试后的,性能调优,需要发现性能问题,也需要做性能调优,在做性能调优中,jvm的性能调优是经常遇到的一个. 随着jdk版本的迅速变化,jdk里面的GC ...
- Java性能调优:利用JMC分析性能
Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC.JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JMC分析 ...
- Java性能调优(一):调优的流程和程序性能分析
https://blog.csdn.net/Oeljeklaus/article/details/80656732 Java性能调优 随着应用的数据量不断的增加,系统的反应一般会越来越慢,这个时候我 ...
- Java性能调优:利用JFR生成性能日志
Java性能调优作为大型分布式系统提供高性能服务的必修课,其重要性不言而喻. 好的分析工具能起到事半功倍的效果,利用分析利器JMC.JFR,可以实现性能问题的准确定位. 本文主要阐述如何利用JFR生成 ...
- 11个简单实用技巧--Java性能调优
多数开发人员认为性能优化是个比较复杂的问题,需要大量的经验和知识.是的,这并不没有错.诚然,优化应用程序以获得最好的性能并不是一件容易的事情,但这并不意味着你在没有获得这些经验和知识之前就不能做任何事 ...
- 第六章 Java性能调优工具(待续)
Java性能调优工具 Windows工具 JDK命令行工具 JConsole工具 Visual VM多合一工具 Visual VM对QQL的支持 MAT内存分析工具 MAT对QQL的支持 JProfi ...
- java 性能调优和GC
JAVA 性能调优和GC http://blog.csdn.net/gzh0222/article/details/7663181 JAVA GC调优手记 http://blog.csdn.net/f ...
- Java性能调优概述
目录 Java性能调优概述 性能优化有风险和弊端,性能调优必须有明确的目标,不要为了调优而调优!!!盲目调优,风险远大于收益!!! 程序性能的主要表现点 执行速度:程序的反映是否迅速,响应时间是否足够 ...
随机推荐
- 20180523模拟赛T1——前缀?
(a.cpp/c/pas) Time Limit:1 Sec Memory Limit:128 MB 简化版题意 jyt毒瘤,写了超长的题面,要看完整题面的翻到最后-- 老太太认为一个长度为 N 的仅 ...
- TCP/IP通信过程(以发送电子邮件为例)(转)
1.应用程序处理 (1)A用户启动邮件应用程序,填写收件人邮箱和发送内容,点击“发送”,开始TCP/IP通信: (2)应用程序对发送的内容进行编码处理,这一过程相当于OSI的表示层功能: (3)由A用 ...
- what-is-the-difference-between-type-and-class
Inspired by Wikipedia... In type theory terms; A type is an abstract interface. Types generally repr ...
- webapi HttpGet标签
该标签可以指定路由如HttpGet["Test"],以前用的很顺,后来加了Area后,按照area/controller/Test的路径去访问报404,原因是HTTPGet指定路由 ...
- 从WinDbg中的转储查看操作系统版本和SP详细信息
这是一个很常见的问题,我们几乎总是遇到.想象一下这样一种情况,我们从某个地方得到一个内存转储,想看看在那里运行的是什么操作系统,安装了什么SP..为此,有一个非常简单的命令. 0:000> ve ...
- Pandas模块 -- 数据类型转换,描述统计
car=pd.read_csv(r'E:\Python\sec_cars.csv',sep=',').head(32) # print(car) print("数据集的类型:",t ...
- ent 基本使用九 代码生成
ent 提供了cli 工具,可以方便我们进行schema 以及代码生成,同时目前提供的cli已经够用了 安装 cli go get github.com/facebookincubator/ent/c ...
- nginx unit java 试用
unit 当前已经支持java了,当时支持基于servlet 的开发模式,以下是一个简单的学习 基于官方的demo 环境准备 docker-compose文件 version: "3&q ...
- JS的ES6的Symbol
一.Symbol 1.什么是Symbol: Symbol是ES6新添加的原始类型(ES5已有原始数据类型:String,Number,boolean,function,undefined,object ...
- A1113 | Integer Set Partition (25)
太简单了 #include <stdio.h> #include <memory.h> #include <math.h> #include <string& ...