gpt4 book ai didi

linux - 如何可靠地测量 Linux 中的可用内存?

转载 作者:IT王子 更新时间:2023-10-29 00:19:47 26 4
gpt4 key购买 nike

Linux /proc/meminfo 显示了一些内存使用统计信息。

MemTotal:      4040732 kB
MemFree: 23160 kB
Buffers: 163340 kB
Cached: 3707080 kB
SwapCached: 0 kB
Active: 1129324 kB
Inactive: 2762912 kB

它们之间有相当多的重叠。例如,据我了解,可以有active page cache(属于“cached”和“active”)和inactive page cache(“inactive”+“cached”)。

我想做的是测量“空闲”内存,但在某种程度上它包括可能会被丢弃而不会对整体系统性能产生重大影响的已用页面。

起初,我倾向于使用“free”+“inactive”,但 Linux 的“free”实用程序在其“buffer-adjusted”显示中使用“free”+“cached”,所以我很好奇有什么更好的方法是。

当内核耗尽内存时,丢弃页面的优先级是什么?衡量可用内存的更合适的指标是什么?

最佳答案

由于“可用内存”的确切含义取决于您的目的,而您的目的是避免 OOM 情况:

查看 how Qt Extended (previously Qtopia) anticipates OOM situations.

有两个事件:

  • (MemFree + Buffers + Cached)/MemTotal < treshold (in /proc/meminfo)
  • Major pagefaults > treshold(我认为 /proc/vmstat 中的 pgmajfault)

第一个是内存不足的预警,并触发更频繁的页面错误监控。第二个信号是垃圾处理,这会降低系统性能并且是 OOM killer 将运行的一个很好的暗示。

关于linux - 如何可靠地测量 Linux 中的可用内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3019748/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com