关于在程序中内存检测的一些知识

程序中一般 读取 /proc/meminfo  文件,跟据  MemTotal  和  MemAvailable 两个参数来进行判断。即:MemAvailable  *100 /MemTotal  。

但是有些系统没有 MemAvailable 这个参数(内核3.14 以上支持,百度看)。需要自己计算一下:

http://www.voidcn.com/article/p-mbmnxdhb-bnt.html

可知:

MemAvailable≈MemFree+Buffers+Cached

cat /proc/meminfo

MemTotal: 263842512 kB。
MemFree: 110439116 kB
MemAvailable: 171045524 kB
Buffers: 0 kB
Cached: 59706392 kB
SwapCached: 738204 kB
Active: 87325996 kB
Inactive: 61318528 kB
Active(anon): 84618336 kB
Inactive(anon): 4400488 kB
Active(file): 2707660 kB
Inactive(file): 56918040 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 16778492 kB
SwapFree: 7794972 kB

原文地址:https://www.cnblogs.com/simplepaul/p/11714382.html