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