incubator-pegasus
incubator-pegasus copied to clipboard
如何限制内存占用
trafficstars
我们的业务场景要求,必须有效的限制内存。我改了RocksDB的配置,将buffer改小。 测试发现,内存占用还是1.5G左右,期望控制在1G内。 这个具体有哪些参数可以调节,能分享下经验么?
请问你微信号多少?我把你拉群讨论吧
请问你微信号多少?我把你拉群讨论吧
已经在群里了,二群。问了,也没有人回复,只好在这里问了。 主要就是目前期望能控制 Pegasus 占用的内存,不希望他随着数据量的增加,内存也增加。
1G 内存过于严苛了,rocksdb 的运行时占用都可能不止 1G 你可以考虑
- 把 rocksdb 的 blockcache 关掉,并参考 https://github.com/facebook/rocksdb/wiki/Memory-usage-in-RocksDB 这个页面把所有对内存有影响的参数调低。
- 单机分片数尽可能少,降低 rocksdb 实例个数
- 使用新版本(v2.2 以上)的 pegasus,我们做了不少关于内存使用的优化
这是 Onebox 场景下使用 valgrind massif 查看内存分布的用量图,可以看出,大部分内存还是由 rocksdb 产生的
