我有一个由10台机器组成的卡夫卡集群。
卡夫卡的xmx配置现在是8g。
但是,在检查了每个Kafka进程后,我确认使用了1g ~ 3g的交换内存。
我知道卡夫卡不需要用大堆。
在这种情况下,我需要增加卡夫卡的xmx吗?
还是有别的解决办法?
此外,os的当前切换设置为1。
发布于 2018-10-30 14:36:03
‘.’我有一些配置,所有的东西都运行在不到一半的可用内存上,而操作系统仍然决定将几GB内存交换到磁盘上。我也试着完全关闭交换,我没有看到任何改善在性能上。
我的建议是,不要让操作系统过于张扬。卡夫卡确实不需要一个大的JVM堆,但它将使用操作系统中任何可用的离堆RAM作为页面缓存,以尽可能多地从RAM中提供数据/消息。我的建议是使用-Xms和-Xmx将JVM大小调整到相同的值(对于大多数情况来说,8GB就足够了),并将剩余的可用内存留给Kafka作为堆外内存使用,以及用于操作系统开销。
https://stackoverflow.com/questions/53064739
复制相似问题