区分内存泄漏和内存碎片

时间:2013-10-12 07:09:31

标签: memory-leaks memory-fragmentation

我使用linux命令top来观察正在运行的程序,我可以看到该程序使用的内存越来越多。

如何判断该症状是由内存泄漏还是内存碎片引起的?

1 个答案:

答案 0 :(得分:1)

好吧,你不能用“top”命令来做。检测内存泄漏的唯一方法是使用名为memory debugger的特殊调试工具。一个例子是“Valgrind”,但其中有很多。

另一个考虑因素是程序的程序语言是什么。如果它是一些带有垃圾收集器的现代脚本语言 - 内存泄漏根本不可能(当然如果语言解释器/编译器没有错误)。

大多数编译的,相对较低级别的语言容易出现内存泄漏 - 如C,C ++,Pascal,汇编等。