我遇到了同样的问题。这是glibc> = 2.10的已知问题
解决方法是设置这个环境变量
export MALLOC_ARENA_MAX=4
IBM有关设置MALLOC_ARENA_MAX的文章 https://www.ibm.com/developerworks/community/blogs/kevgrig/entry/linux_glibc_2_10_rhel_6_malloc_may_show_excessive_virtual_memory_usage?lang=en
在Google上搜索MALLOC_ARENA_MAX或在SO上搜索它以找到大量参考。
你可能还需要调整其他malloc选项以优化分配的内存的低碎片:
# tune glibc memory allocation, optimize for low fragmentation# limit the number of arenasexport MALLOC_ARENA_MAX=2# disable dynamic mmap threshold, see M_MMAP_THRESHOLD in "man mallopt"export MALLOC_MMAP_THRESHOLD_=131072export MALLOC_TRIM_THRESHOLD_=131072export MALLOC_TOP_PAD_=131072export MALLOC_MMAP_MAX_=65536



