程序退出后回收内存

dcn*_*dcn 6 linux memory-management linux-kernel

这是我的问题:运行一套程序后,free告诉我执行后大约有1 GB的可用内存减少。经过一番搜索后,我发现这样:当您在 malloc 之后不释放时,真正会发生什么(据我所知),这清楚地表明丢失的内存释放不应该是问题......(这是正确的吗?)

top不显示任何使用大量内存的进程。

我如何找出内存“发生了什么” ,即哪个程序分配了它以及为什么程序执行后它不空闲?

从哪里free收集其信息?

(我正在运行最新的 Ubuntu 版本)

pau*_*sm4 4

是的,程序使用的内存在程序退出后会被释放。

“free”中的统计数据令人困惑,但事实是该内存可供其他程序使用:

http://kevinclosson.wordpress.com/2009/11/17/linux-free-memory-is-it-free-or-reclaimable-yes-when-i-want-free-memory-i-want-free-记忆/

http://sourcefrog.n​​et/weblog/software/linux-kernel/free-mem.html

这是一个更好的活动链接:

http://www.linuxatemyram.com/