Linux 查看文件空闲,Linux下获取空闲内存和内存使用率的方法

一项目基于linux开发,包含一个服务器状态监视的功能,一个兄弟完成该功能之后显示内存占用率一直保存在94%以上,虽然测试机只有512M内存,但也不至于空闲内存如此之少,内存使用率如此之高呀,测试人员在提出这个问题之后,那兄弟还搪塞测试人员:linux就这样,内存使用方式和windows不同。

分析了一下这个系统的代码,他从/proc/meminfo中直接读取了MemFree对应的值,直接导致空闲内存不对,内存使用率当然也不对,在Linux下正确获取空闲内存的方法应当如下:

1、读取/proc/meminfo文件,结果如下:

MemTotal: 515880 kB

MemFree: 12748 kB

Buffers: 20768 kB

Cached: 190328 kB

SwapCached: 91920 kB

Active: 349272 kB

Inactive: 119392 kB

HighTotal: 0 kB

HighFree: 0 kB

LowTotal: 515880 kB

LowFree: 12748 kB

SwapTotal: 891568 kB

SwapFree: 646656 kB

Dirty: 208 kB

Writeback: 0 kB

AnonPages: 246588 kB

Mapped: 62140 kB

Slab: 25504 kB

SReclaimable: 12256 kB

SUnreclaim: 13248 kB

PageTables: 2592 kB

NFS_Unstable: 0 kB

Bounce: 0 kB

CommitLimit: 1149508 kB

Committed_AS: 935784 kB

VmallocTotal: 507896 kB

VmallocUsed: 3576 kB

VmallocChunk: 504176 kB

2、MemTotal值作为总内存

3、空闲内存计算方式:如果Cached值大于MemTotal值则空闲内存为MemFree值,否则空闲内存为MemFree值+Buffers值+Cached值

4、内存使用率为:空闲内存/总内存*100%。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值