Hel*_*lad 4 apache-kafka apache-zookeeper
我已阅读说明书
do not use swap
Run Code Online (Sandbox Code Playgroud)
在zookeeper和kafka都有.我知道kafka依赖于页面缓存来保持顺序日志的一部分缓存在内存中,即使它们被写入磁盘也是如此.
但无法理解如何交换可以伤害zk和kafka.
Mic*_*oll 11
交换可能会导致性能和稳定性问题; 在您的示例中,您不希望Linux内核"错误/意外地"交换您的Kafka或ZooKeeper进程.
此外,对于像Kafka和ZooKeeper这样的JVM进程,交换可能特别糟糕,引用:
[J] JVM通常不会执行完整的GC循环,直到它的允许堆耗尽为止,因此大部分堆可能都是由尚未收集的垃圾占用.由于这些页面没有被触摸(因为它们是垃圾并因此未被引用),操作系统很乐意将它们交换掉.当GC最终运行时,你有一个荒谬的交换风暴,拉入所有这些页面,然后发现它们实际上充满了垃圾,应该被丢弃; 这可以轻松使您的GC循环花费很多分钟!
因此,建议通过设置来禁用交换vm.swappiness到0,虽然对于一些操作系统,如RHEL 6.5这实际上应该是1(因为该值的语义0是这些操作系统的改变).请注意,仍可能发生一些交换.
以下链接可能会进一步阐明您的问题.他们解释了为什么分别禁用Hadoop和Elasticsearch的交换,这与你应该禁用Kafka和ZooKeeper交换的原因相同:
| 归档时间: |
|
| 查看次数: |
2643 次 |
| 最近记录: |