文章目录
1、free 命令
默认情况下,即在没有选项的情况下,"free"命令显示内存的使用信息。默认按照k(b)的计数单位统计。
[root@VM_16_17_centos bin]# free
total used free shared buff/cache available
Mem: 1882892 785272 280428 40496 817192 852060
Swap: 0 0 0
先说明一些基本概念
第一列
- Mem 内存的使用信息
- Swap 交换空间的使用信息
第一行
- total 系统总的可用物理内存大小
- used 已被使用的物理内存大小
- free 还有多少物理内存可用
- shared 被共享使用的物理内存大小
- buff/cache 被 buffer 和 cache 使用的物理内存大小
- available 还可以被应用程序 使用的物理内存大小
free 与 available 的区别:
free 是真正尚未被使用的物理内存数量。
available 是应用程序认为可用内存数量,available = free + buffer + cache (注:只是大概的计算方法)
Linux 为了提升读写性能,会消耗一部分内存资源缓存磁盘数据,对于内核来说,buffer 和 cache 其实都属于已经被使用的内存。但当应用程序申请内存时,如果 free 内存不够,内核就会回收 buffer 和 cache 的内存来满足应用程序的请求。这就是稍后要说明的 buffer 和 cache。
buff 和 cache 的区别
从字面上和语义来看,buffer名为缓冲,cache名为缓存。
page cache:文件系统层级的缓存,从磁盘里读取的内容是存储到这里,这样程序读取磁盘内容就会非常快,比如使用grep和find等命令查找内容和文件时,第一次会慢很多,再次执行就快好多倍,几乎是瞬间。但如上所说,如果对文件的更新不关心,就没必要清cache,否则如果要实施同步,必须要把内存空间中的cache clean下
buffer cache:磁盘等块设备的缓冲,内存的这一部分是要写入到磁盘里的。这种情况需要注意,位于内存buffer中的数据不是即时写入磁盘,而是系统空闲或者buffer达到一定大小统一写到磁盘中,所以断电易失,为了防止数据丢失所以我们最好正常关机或者多执行几次sync命令,让位于buffer上的数据立刻写到磁盘里。作者:不做秃顶的程序猿链接:https://www.jianshu.com/p/2ffeb3a3aa90来源:简书著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
2、free命令+参数
注意
:
free命令的选项区分大小写,请认真对照上图中是大写还是小写
- free -b:以bytes为单位来显示内存的信息。
- free -b:以kb为单位来显示内存的信息。
- free -m:以m为单位来显示内存的信息。
- free -g:以G为单位来显示内存的信息。