我读过linux 使用空闲内存进行缓存,以使系统更快。但是,Nagios 和 Paessler PRTG 监控系统都向我表明我的内存使用情况至关重要。
我可以将 Nagios mem_usage 脚本更改为对空闲内存和缓存内存求和,但这是否是正确的信息?我怀疑他们误解了 Linux 内存使用情况。
假设我有 8 GB RAM。使用了 5 GB,缓存了 2 GB,我有 1 GB 的空闲内存。实际可用内存应该是空闲+缓存(3 GB)吗?如果某些新应用程序需要额外的 3 GB RAM,它是否可以在不使用交换的情况下从缓存中取出所有内容并免费使用,或者缓存中是否有最小值?
真实例子:
$ cat /proc/meminfo
MemTotal: 5984256 kB
MemFree: 137052 kB
Buffers: 140484 kB
Cached: 3439616 kB
SwapCached: 244 kB
Active: 3148824 kB
Inactive: 2341768 kB
...
Run Code Online (Sandbox Code Playgroud)
我的监控工具显示我有 137 MB 的可用 RAM,但是我有大约 3.5 GB 的缓存。
谢谢!