【Linux】【shell】精讲Linux 系统中内存的占用计算

要计算 Linux 系统中内存的占用情况(如总内存的使用百分比或具体消耗量),主要依赖 /proc/meminfo 中提供的信息字段。以下是分析和计算的方法。


1. /proc/meminfo 文件中内存相关字段回顾

运行以下命令可以查看 /proc/meminfo

cat /proc/meminfo

输出示例如下:

MemTotal:       16391044 kB
MemFree:         1210088 kB
MemAvailable:    4356156 kB
Buffers:          654436 kB
Cached:          2045236 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB

其中主要字段的解释和定义:

  • MemTotal:总的物理内存大小。
  • MemFree:未分配给任何进程且完全空闲的物理内存。
  • MemAvailable:系统当前可以用于新程序的内存量,包括 MemFree 和仍可回收的缓存、缓冲区。
  • Buffers:作为块设备(例如文件系统元数据)提供缓存的内存。
  • Cached:缓存文件数据的内存,包括页面缓存。
  • SwapTotal:提供的总交换分区大小。
  • SwapFree:未使用的交换分区大小。

2. 如何计算内存的占用

(1)简单的内存占用计算公式

内存的占用量可以通过以下公式计算:

内存占用量 = MemTotal - MemAvailable
内存占用百分比 = (MemTotal - MemAvailable) / MemTotal * 100
  • 为何使用 MemAvailable?
    • MemFree 指的是完全空闲的内存,其值往往较低;
    • 然而,MemAvailable 不仅包含 MemFree,还包括被缓存、缓冲的内存(这些内存可按需回收利用),所以计算占用时 MemAvailable 更符合实际可用内存量。

示例
假设 /proc/meminfo 的内容如下:

MemTotal:       16391044 kB
MemAvailable:    4356156 kB

我们可以得到:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风云说通信

支持小编为您创造更多干货,谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值