ARM / Linux内存泄漏:用户程序终止后是否可以保留内存?

时间:2009-10-09 19:02:53

标签: linux memory-leaks

我的内存泄漏某处,但它似乎与我的程序无关。我根据以下事实做出这个大胆的陈述:一旦我的程序终止,无论是通过seg-faulting,exitting还是aborting,内存都无法恢复。如果我的程序是罪魁祸首,我会假设MMU会恢复所有内容,但事实并非如此。

我的问题是:

在一个运行程序的小型Linux系统(64 Mb Ram)上,该程序只使用堆栈内存和几次调用malloc(),导致我看到内存耗尽并保持一次的原因我的程序终止了吗?

相关问题是here


这一切都是在有问题的代码将stdout,stderr指向文件之后开始的。几个小时后,它因“分段故障”而中止。快速(天真?)看看/ proc / meminfo表明没有太多可用的内存,所以我认为有些东西在泄漏。

1 个答案:

答案 0 :(得分:0)

看来我没有内存泄漏(见here),但它确实引出了一些新问题......


事实证明,写入块设备可以使用相当多的物理内存;在我的系统中只有64兆,因此将数百兆的写入USB驱动器会增加缓存,活动和非活动内存池。

卸载设备后,这些内存池会立即释放到可用内存池。

我的分段错误的确切原因仍然是一个小谜,但我知道通过更好地了解虚拟内存资源可以减少它的出现,特别是在使用Block设备时。