linux 怎么捞取内存使用率,linux – 如何使用vmstat获取%内存使用率?

这篇博客探讨了如何解析Linux系统的内存使用情况,包括物理内存、交换分区、缓冲区和缓存的细节。通过`free`和`top`命令的输出,解释了不同内存状态的含义,以及如何计算可用内存的百分比。文中提到了内存计算的不同方法,指出是否包含缓冲区和缓存在内,以及是否考虑交换分区都会影响自由内存的定义。
摘要由CSDN通过智能技术生成

您正在寻找的是“免费”的输出:

$free

total used free shared buffers cached

Mem: 775556 759456 16100 0 22132 592484

-/+ buffers/cache: 144840 630716

Swap: 500344 21972 478372

这是一个旅游:

这是一个带有768MB物理RAM和500344KB交换分区的盒子.

759456KB是“使用”(第二列,顶行).在这个“二手”存储器中,23132KB是缓冲区(第5列,顶行),592484KB(第六列,顶行)是缓存,剩下144840KB(第2列,第2行)的活动进程正在使用的物理内存.

当您考虑缓冲区和缓存使用的内存可用于进程时,可以释放630716KB(第3列,第2行)物理内存.

正如我所说,交换分区是500344KB(第1列,底行).交换文件的21972KB(第2列,底行)正在使用中,留下478372KB(第3列,底行)空闲.

因此,你对%free memory的定义取决于你是否计算缓冲区和缓存,以及你是否计算交换.

这应该足以让你继续计算你认为合适的百分比.

这是top和free的输出:

$top -n1 | grep "used," ; free

Mem: 775556k total,751472k used,24084k free,20776k buffers

Swap: 500344k total,21972k used,478372k free,586648k cached

total used free shared buffers cached

Mem: 775556 751344 24212 0 20776 586648

-/+ buffers/cache: 143920 631636

Swap: 500344 21972 478372

你可以看到top和free是如何达成一致的(虽然有点不同 – 这是一个多用户机器,顶级和免费程序的内存使用情况也反映在那里).

当你调用vmstate时添加一个“-s”,你会看到很多相同的输出,只是以不同的形式:

$vmstat -s ; free

775556 total memory

759920 used memory

674680 active memory

18440 inactive memory

15636 free memory

21892 buffer memory

594372 swap cache

500344 total swap

21972 used swap

478372 free swap

... output truncated ...

total used free shared buffers cached

Mem: 775556 759920 15636 0 21892 594372

-/+ buffers/cache: 143656 631900

Swap: 500344 21972 478372

你可以看到vmstat显示的所有数字都是免费的.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值