这是我的问题:运行一组程序后,free
告诉我执行后大约有 1 GB 可用内存。经过一些搜索,我找到了 SO: What really happens when you dont free after malloc这(据我了解)清楚地表明缺少内存释放不应该是问题...(正确吗?)
top
没有显示任何使用大量内存的进程。
我如何找出内存“发生了什么”,即哪个程序分配了它以及为什么它在程序执行后 不可用?
free
在哪里收集信息?
(我正在运行最新的 Ubuntu 版本)
最佳答案
是的,您的程序使用的内存在您的程序退出后被释放。
“free”中的统计数据令人困惑,但事实是内存可供其他程序使用:
http://sourcefrog.net/weblog/software/linux-kernel/free-mem.html
这是一个更好的事件链接:
关于linux - 程序退出后回收内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7193650/