在 Debian 上部署 Kafka 时,“内存怎么设”通常分为 两方面:
下面分别说明,并给出常见配置示例。
Kafka 是 基于 JVM 的,主要通过 KAFKA_HEAP_OPTS 控制堆大小。
编辑 Kafka 启动脚本或环境配置文件:
vi /opt/kafka/bin/kafka-server-start.sh
或在 /etc/default/kafka(如果用 systemd 包)中设置:
export KAFKA_HEAP_OPTS="-Xms4G -Xmx4G"
✅ 推荐原则
✅ 官方建议:
Kafka 依赖 page cache,而不是 JVM 堆
Kafka 读写依赖 Linux 页缓存(page cache)
例如:
如果你用 systemd 启动 Kafka:
sudo vi /etc/systemd/system/kafka.service
示例:
[Service]
Environment="KAFKA_HEAP_OPTS=-Xms4G -Xmx4G"
重载:
sudo systemctl daemon-reexec
sudo systemctl restart kafka
export KAFKA_HEAP_OPTS="-Xms4G -Xmx4G -XX:+UseG1GC"
Kafka 2.x 以后默认推荐 G1GC
| 机器内存 | Kafka 堆 | Page Cache |
|---|---|---|
| 8G | 3–4G | 4G |
| 16G | 4–6G | 10G |
| 32G | 6–8G | 24G |
| 64G | 8G | 50G+ |
ps -ef | grep kafka
或:
jmap -heap <pid>
如果你愿意,可以告诉我:
我可以给你 精确推荐值。