如何限制Kafka流中的RocksDB内存使用量

时间:2019-04-07 12:30:34

标签: docker apache-kafka-streams rocksdb

我正在使用kafka流,堆外内存使用量增长到了计算机的物理极限。但是,在docker中运行kafka-streams时,内存使用量超出了容器的限制,因此该容器被OOM杀死。

我的假设是rocksdb正在分配堆外空间。 -Xmx可用于限制堆的使用,但我找不到与Rockdb堆外使用类似的东西。

rocksdb如何检测物理内存限制,有没有办法在容器中模拟此限制?

1 个答案:

答案 0 :(得分:0)

这是内存碎片的问题。

您可以通过设置环境变量 listView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Log.d(LOG_TAG, "itemClick: position = " + position + ", id = " + id); SomeItem item = items.get(position); // specific item } }); 来调整glibc内存分配器,也可以将内存分配器从glibc更改为jemalloc。