我使用linux命令top
来观察正在运行的程序,我可以看到该程序使用的内存越来越多。
如何判断该症状是由内存泄漏还是内存碎片引起的?
答案 0 :(得分:1)
好吧,你不能用“top”命令来做。检测内存泄漏的唯一方法是使用名为memory debugger的特殊调试工具。一个例子是“Valgrind”,但其中有很多。
另一个考虑因素是程序的程序语言是什么。如果它是一些带有垃圾收集器的现代脚本语言 - 内存泄漏根本不可能(当然如果语言解释器/编译器没有错误)。
大多数编译的,相对较低级别的语言容易出现内存泄漏 - 如C,C ++,Pascal,汇编等。