第一行Mem,表示物理内存统计
total:总内存大小
used:已使用内存大小
free:当前空闲内存大小
shared:多个进程共享的内存总额
buffers/cached:缓存内存数据
第二行-/+ buffers/cache:
(1)used 实际使用的内存,等于第一行的 used - buffers - cached
(2)free 实际可用内存,等于第一行的 free + buffers + cached
内存占用计算公式used/(used+free)
第三行Swap表示交换区的使用情况,也就是我们通常所说的虚拟内存。
free常用参数:
free -b #以Byte为单位显示内存使用情况
free -k #以KB为单位显示内存使用情况,也是默认参数
free -m #以MB为单位显示内存使用情况
free -g #以GB为单位显示内存使用情况
free -s #间隔数字秒数刷新显示内存使用情况
free -t #显示内存总和列
free -V #显示当前版本
当你在读写文件的时候,Linux内核为了提高读写效率与速度,会将文件在内存中进行缓存,这部分内存就是Cache Memory(缓存内存)。即使你的程序运行结束后,Cache Memory也不会自动释放。这就会导致你在Linux系统中程序频繁读写文件后,你会发现可用物理内存会很少。
其实这缓存内存(Cache Memory)在你需要使用内存的时候会自动释放,所以你不必担心没有内存可用。如果你希望手动去释放Cache Memory(缓存内存)的话也是有办法的。
echo 1 > /proc/sys/vm/drop_caches