【发布时间】:2011-11-03 20:27:03
【问题描述】:
这是我的问题:运行一套程序后,free 告诉我,执行后可用内存减少了大约 1 GB。经过一些搜索,我发现SO: What really happens when you dont free after malloc(据我了解)清楚地表明丢失的内存释放不应该是问题......(正确吗?)
top 没有显示任何使用大量内存的进程。
我如何才能找出内存“发生了什么”,即哪个程序分配了它以及为什么它在程序执行后不空闲?
free 在哪里收集其信息?
(我运行的是最新的 Ubuntu 版本)
【问题讨论】:
-
这个内存真的没有空闲还是你的程序填满了磁盘缓存,你认为你的内存少了?
-
在执行大约 1GB 之前和之后,
free -m告诉的内容有所不同 -
free从 /proc/stat 和 /proc/meminfo 读取。 -
编辑帖子并免费粘贴 -m 结果
-
Want to know whether enough memory is free on a linux machine to deploy a new application 的可能重复项(好吧,不是完全重复,但足够接近,答案肯定回答了这个问题)
标签: linux linux-kernel memory-management