监控工具 - 内存监控

内存监控

based on the document https://blog.csdn.net/gatieme/article/details/51959654

工具 描述 推荐
vmstat vmstat是Virtual Meomory Statistics(虚拟内存统计)的缩写,可对操作系统的虚拟内存、进程、CPU活动进行监控。是对系统的整体情况进行统计,不足之处是无法对某个进程进行深入分析。 vmstat
valgrind 一个强大开源的程序检测工具, 可以边缘期间也可以运行期间 推荐1 推荐2
jemalloc 一个非常不错的内存库, 比系统自带的ptmalloc 要优秀很多, 并且自带内存监控功能 参考本blog 之前jemlloc
perf perf 是一个非常强大的监控cpu 指令的工具, 同样也提供内存监控的功能 perf mem
mtrace GNU扩展,用来跟踪malloc,mtrace为内存分配函数(malloc,rellaoc,memalign,free)安装hook函数, 不过略感功能偏弱 mtrace
dmalloc 用于检查C/C++内存泄漏的工具,即是检查是否存在程序运行结束还没有释放的内存,以一个运行库发布, 不如jemalloc dmalloc
memwatch 和dmalloc一样,它能检测未释放的内存、同一段内存被释放多次、位址存取错误及不当使用未分配之内存区域
mpatrol 一个跨平台的 C++ 内存泄漏检测器 mpatrol
dbgmem 也是一个动态库发布的形式,优点类似dmalloc,但是相比之下,可能特点少了一些 不推荐了
Electric Fence 不仅仅能够跟踪malloc()和free(),同时能够检查读访问以及写入,能够准确指出导致错误的指令 不推荐了