Linux如何计算MemFree

Linux如何计算MemFree,第1张

概述我试图了解我的嵌入式 Linux内存使用情况. 通过使用top实用程序和进程文件/ proc / meminfo,我可以看到进程正在使用多少虚拟内存,以及系统可用的物理内存量.但对于任何给定的进程来说,虚拟内存似乎都比使用的物理内存高得多.由于这是嵌入式系统,因此内存交换被禁用.(SwapTotal = 0) linux如何计算自由物理内存?因为它似乎没有考虑虚拟内存空间中分配的所有内容. / p 我试图了解我的嵌入式 Linux内存使用情况.

通过使用top实用程序和进程文件/ proc / meminfo,我可以看到进程正在使用多少虚拟内存,以及系统可用的物理内存量.但对于任何给定的进程来说,虚拟内存似乎都比使用的物理内存高得多.由于这是嵌入式系统,因此内存交换被禁用.(SwapTotal = 0)

linux如何计算自由物理内存?因为它似乎没有考虑虚拟内存空间中分配的所有内容.

解决方法 / proc / meminfo中的MemFree是伙伴分配器中有多少页面可用的计数.这个伙伴分配器是内核中物理内存分配的基本单元;但是有很多方法可以在需要时将页面返回给伙伴分配器 – 例如,释放空SLAB,丢弃缓存/缓冲区RAM(即使这意味着在正在运行的进程中使PTE无效),或作为最后的手段交换东西.

实际上,MemFree通常被控制为总物理RAM的5-10%,随着时间的推移,任何额外的空闲RAM都被添加到缓存中.因此,单独使用MemFree是对整体内存情况的非常不完整的看法.

对于给定进程的虚拟内存(VSIZE),这指的是进程地址空间中所有映射内存段的大小总和.但是,并非所有这些都是物理存在的 – 有些可能是paged in upon first access,因此在实际使用之前不会注册为正在使用的存储器.驻留大小(RSIZE)是一个更准确的视图,因为它只注册现在映射的页面 – 尽管如果给定页面映射到多个虚拟地址中这也可能不准确(这在您考虑多个时非常常见)进程 – 共享库具有映射到使用该库的所有进程的相同物理RAM)

总结

以上是内存溢出为你收集整理的Linux如何计算MemFree全部内容,希望文章能够帮你解决Linux如何计算MemFree所遇到的程序开发问题。

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

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

原文地址: http://outofmemory.cn/yw/1033482.html

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

发表评论

登录后才能评论

评论列表(0条)

保存