linux 计算内存使用率

先声明,本文涉及到的知识是之前搜集到的,现在整理出来分享大家,虽然打上原创的tag,但还是向原创致敬!如果涉及到侵权的问题,请联系我,我会及时更改!


1、通过定期采集/proc文件系统内的meminfo文件来获取当前内存使用情况:

proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的采集流程图。


使用gedit /proc/meminfo 命令打开meminfo文件,需要使用的指标有:MemTotal ,MemFree,Buffers,Cached
MemTotal:总内存大小
MemFree: 空闲内存大小
Buffers和Cached:磁盘缓存的大小


2、下面分别从操作系统角度和应用程序角度来区别Buffers和Cached
对操作系统来说,Buffers和Cached是已经被使用的
MemFree=total-used
对应用程序来说
MemFree=buffers+cached+free。


所以本着监控应用对物理内存使用情况的目的采取如下计算方法:
内存使用率(MEMUsedPerc)=100*(MemTotal-MemFree-Buffers-Cached)/MemTotal
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值