监控工具 - 内存监控
内存监控
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(),同时能够检查读访问以及写入,能够准确指出导致错误的指令 | 不推荐了 |