linux – free显示使用的内存比顶级进程总数多

linux – free显示使用的内存比顶级进程总数多,第1张

概述更新: 这是由于nss-softkn的已知问题引起的.看到这篇文章: https://www.splyt.com/blog/2014-05-16-optimizing-aws-nss-softoken 当我从我的centos 6.5盒中运行free -m时,我发现我只有大约1400 mb的可用内存,包括缓存.当我做顶部时,按内存排序并添加我只看到1600左右使用的进程.我应该有更多的免费记忆.这发 更新:

这是由于nss-softkn的已知问题引起的.看到这篇文章:
https://www.splyt.com/blog/2014-05-16-optimizing-aws-nss-softoken

当我从我的centos 6.5盒中运行free -m时,我发现我只有大约1400 mb的可用内存,包括缓存.当我做顶部时,按内存排序并添加我只看到1600左右使用的进程.我应该有更多的免费记忆.这发生在我们的几个盒子上.

[root@db1 ~]# free -m              total      used       free     shared    buffers     cachedMem:          7840       7793         47          0        287       1357-/+ buffers/cache:       6148       1692Swap:         7983          7       7976

最高输出

以下是可视化进程消耗的内存的更好方法:

解决方法 根据linux,你有大约1692m的可用内存.

在顶部的“Mem”行中,你的内存似乎几乎是99%(7793m / 7840m),但实际上你只使用了大约78%的可用内存.有关更深入的解释,另请参阅http://www.linuxatemyram.com/.

免费vs顶级vs / proc / meminfo

进程内存.
将进程中使用的内存加起来并尝试将其与已用的已用内存相匹配将会给您带来不愉快的时间.由于顶部分页,您甚至可能无法获得此列表中的所有进程更好的方法是使用ps aux –sort -RSS按内存使用顺序排序进程.

磁盘缓存.
linux将使用你不使用的内存来使你在幕后运行得更快.这在free的“缓存”列中有所说明,这就是为什么你应该查看“ – / buffers / cache”旁边的值来了解实际使用和可用内存.

内核块缓存.
内核模块和驱动程序也可以使用未使用的内存. “SReclaimable”是你可以在内存压力下使用的内存.有一个很酷的工具叫slabtop,可以识别内核是如何缓存的.

清除缓存.

echo 1> / proc / sys / vm / drop_caches释放pagecache

echo 2> / proc / sys / vm / drop_caches释放dentrIEs和inode

echo 3> / proc / sys / vm / drop_caches释放pagecache,dentrIEs和inode

也可以看看

> Meaning of the buffers/cache line in the output of free
> Explanation on Resident Set Size/Virtual Size
> Slab Allocation

总结

以上是内存溢出为你收集整理的linux – free显示使用的内存比顶级进程总数多全部内容,希望文章能够帮你解决linux – free显示使用的内存比顶级进程总数多所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1033928.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存