首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >通过跟踪顶部的“空闲”和“缓存”来确认内存泄漏?

问通过跟踪顶部的“空闲”和“缓存”来确认内存泄漏?
EN

Server Fault用户
提问于 2015-04-07 13:37:03
回答 1查看 541关注 0票数 1

我试图确认在处于空闲状态时,我的Linux设备上存在内存泄漏(不应该有连续的内存消耗)。我对识别导致泄漏的进程不感兴趣,但只是想得出内存泄漏的结论。

我正在使用top作为诊断工具。来自顶部的内存字段示例:

代码语言:javascript
复制
Mem:    118616k total,    83980k used,    34636k free,        0k buffers
Swap:        0k total,        0k used,        0k free,    24140k cached

我可以看到free的值不断下降,然而,cached的值却在不断增加。

为了确认存在内存泄漏,free+cached的和应该不断下降,而不是只减少free (在这种情况下,内核可能只是使用空闲内存进行缓存)?

EN

回答 1

Server Fault用户

发布于 2015-04-07 16:06:42

用户空间进程的内存泄漏将导致该进程使用的内存数量不断增加。

您可以使用批处理模式使用top监视进程(但是,top似乎不支持在批处理模式( https://bugzilla.redhat.com/show_bug.cgi?id=547749)中按内存进行排序)。

作为顶部的替代,您还可以每分钟执行以下命令:

代码语言:javascript
复制
ps aux --sort -rss | head -n 10

若要查看使用RAM的十大进程,请执行以下操作。

例如。

代码语言:javascript
复制
while [ true ]; do ps aux --sort -rss | head -n 10 >> memory_usage_log.txt; echo "#########" >> memory_usage_log.txt; sleep 60; done;

如果某些进程随着时间而使用越来越多的RAM,而没有活动或输入数据,那么它可能是内存泄漏(例如,如果您启动web浏览器并保持它运行而不使用它,那么web浏览器的内存使用显然不应该随着时间的增长而增长)。

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/680956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档