free 命令相对于top 提供了更简洁的查看系统内存使用情况,用来显示内存的使用情况,使用权限是所有用户
a[1][1]=总的物理内存=1966276
a[1][1]=a[1][2]+a[1][3]=1928516+37760
a[1][1]=a[2][2]+a[2][3]=437444+1528832
a[2][3] 程序可用内存=1528832
a[2][3]=a[1][3]+a[1][5]+a[1][6]=37760+434028+1057044
a[1][2] 系统已用内存=1928516
a[1][2]=a[2][2]+a[1][5]+a[1][6]=43744+434028+1057044
a[1][3] 系统OS未分配内存,非程序可用内存
a[2][3] 才是程序可用的内存,
图片第一行是OS视图下内存情况
图片第二行是程序视图下内存情况
Buffers 和 cached从OS系统角度是已经分配使用的内存,从应用程序角度是没有使用可被使用的内存,原因是OS可以动态的调整buffers cached供用用程序使用。
Buffer和Cache的区别
缓存(cached)是把读取过的数据保存起来,重新读取时若命中(找到需要的数据)就不要去读硬盘了,若没有命中就读硬盘。其中的数据会根据读取频率进行组织,把最频繁读取的内容放在最容易找到的位置,把不再读的内容不断往后排,直至从中删除。
free使用
#################################################1.free 正常显示
free -b|-k|-m 以b字节,k,m 显示内存大小
free -o 不显示buffer/cache
free -t 显示total
free -s delay 每隔delay秒显示一次,一直进行下去
free -c count 显示n 次