JVM堆内存优化
kafka-server-start.sh
,设置KAFKA_HEAP_OPTS
,如-Xms4G -Xmx4G
(建议为物理内存的1/4到1/3,不超过32GB)。-XX:+UseG1GC
,并设置最大停顿时间-XX:MaxGCPauseMillis=20
。Kafka缓冲区参数调优
其他关键配置
num.partitions
(建议大于消费者数量)和default.replication.factor
,提升并行处理能力。log.segment.bytes
(如1GB)控制日志分段,减少索引文件占用内存。监控与调优
jstat -gcutil <pid>
监控JVM垃圾回收情况,分析停顿时间。系统级优化
ulimit -n 100000
,避免因分区过多导致内存映射文件耗尽资源。noatime
挂载,减少磁盘I/O开销。参考来源:[1,2,3,4,5,6,7,8,9,10]