C/C++教程

Sword jemalloc使用小结

本文主要是介绍Sword jemalloc使用小结,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

最近借助jemalloc来解决内存碎片问题,但是遇到很多问题,做如下记录


优点:
        jemalloc的确能对内存做一定优化,但是发现并不能解决所有内存碎片问题,只能说有一定缓解作用。


缺点:
        使用jemalloc会带来内存增加问题,内存的消耗跟使用内存成正比,即申请内存越多,jemalloc消耗额外内存也越多。
经过查询资源,发现可以通过环境变量来进行一定的优化

export MALLOC_CONF=tcache:false,thp:never,retain:false


上述环境变量可以缓解内存异常增加问题。在此记录一个事故,有次我配置的是export MALLOC_CONF=tcache:false,retain:false,发现加载某些动态库会直接崩溃。

 

export MALLOC_CONF=dirty_decay_ms:0,muzzy_decay_ms:0

配置上述变量,本意是为了快速回收内存,减少内存占用,结果发现在频繁申请的内存的场景,cpu使用率会上涨20%左右,在cpu使用率比较高的场景中不建议配置


这篇关于Sword jemalloc使用小结的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!