linux – 如何使用vmstat获取%内存使用率?

我需要从vmstat获取%的内存使用率,但我不太了解与vmstat中显示的内存有关的一些数字.

特别是,给出这样的输出

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0 139728  45396 199128 1236360    1    2     4   622    3    1 51  4 43  2  0

系统的总内存量是多少?这是’swpd”免费”buff”缓存’,总计到1620612?

系统的可用内存量是多少?它是45396,显示在“免费”栏中吗?

问题是他们没有加起来甚至看起来接近报道的“顶级”.我在上面与’vmstat’同时进行的’top’输出是:

[...]
Mem:   4059616k total,3965504k used,94112k free,200020k buffers
[...]

所以…我假设’vmstat’中必须有隐藏的数字/选项,我不知道?

我需要为此目的使用’vmstat’,而不是其他命令,因为这是要求所述.

理想情况下,我想从’vmstat’实现的是%内存使用率,如:

<used_memory>/<total_memory> * 100%.

谢谢!

解决方法

您正在寻找的是“免费”的输出:
$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显示的所有数字都是免费的.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


查找全部容器的日志文件 $ sudo find /var/lib/docker/containers -name *.log 查看日志位置 $ docker inspect --format=&#39;{{.LogPath}}&#39; &lt;container_name&gt; 实时查询内容 $
Linux日志文件中列属性的详细解析
在Linux系统中没有duf命令,如何有效地管理磁盘空间?
深入探讨EncryptPad在Linux操作系统中的功能和优势
原理和应用场景:Linux中ttyload工具的工作原理和实际用途
深度解析SELinux的三种策略类型
评估Linux系统性能的ttyload工具使用效果
分享在Linux系统中检测SSH版本的方法
介绍Linux平台上的数据加密工具EncryptPad
在Linux系统中,如何查看和诊断块设备信息?
在Linux环境下如何查看块设备信息?
探索Linux操作系统下的数据加密工具EncryptPad
学会在Linux系统中查看硬盘信息
分析SELinux:原理与实践
掌握SELinux策略类别
技巧:有效解读和管理Linux日志文件
查看Linux系统中的所有用户
了解Linux系统中各种不同类型的日志文件
深入理解Linux PS命令
方法:在Linux操作系统中查看用户