小编SKi*_*SKi的帖子

如何监控内存使用情况以达到报警目的

我们有没有swap的嵌入式Linux系统。

目前,当内存使用百分比增加超过阈值时,我们必须发出警报。并在内存使用百分比增加超过(更高)阈值时重新启动。

为什么要这样做:如果某些程序泄漏,我们可以在内核开始杀死我们的进程之前进行安全重启(这可能导致数据损坏或不可用)。

但是我们有一个问题:

如何计算可用于我们目的的内存使用率-%?

我们尝试使用 /proc/meminfo 的值来计算内存使用情况:

/ # cat /proc/meminfo
MemTotal:       126744 kB
MemFree:         58256 kB
Buffers:         16740 kB
Cached:          31308 kB
SwapCached:          0 kB
Active:          37580 kB
Inactive:        24000 kB
Run Code Online (Sandbox Code Playgroud)

没有成功:

(MemTotal - MemFree) 不可用,因为它包含例如缓存。

(MemTotal - MemFree - Buffers - Cached)确实忽略了 的影响Inactive。所以它也给出了太大的内存使用值。

(MemTotal - MemFree - Buffers - Cached - Inactive) 不可用,因为结果可能为负。

memory linux

9
推荐指数
2
解决办法
2万
查看次数

标签 统计

linux ×1

memory ×1