关于在程序中内存检测的一些知识
程序中一般 读取 /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