计算机网络/计算机科学与应用/系统/运维/开发

Linux【free】查看内存使用情况


free命令可以显示内存、缓存和交换分区的使用情况


选项:

-h: 人性化显示,以K(KB)、M(MB)、G(GB)等单位表示容量

-s:指定动态显示时的刷新频率


实例:查看内存等使用情况,每10s刷新一次

image.png

Mem表示内存,Swap表示交换分区,total表示总量,used表示已使用的数量,free表示空闲数量,shared表示共享内存的数量,buff/cache表示缓冲和缓存的大小,available表示系统可用内存的大小


重点关注的是Mem行的available数值的大小,它反映了系统当前真实的可用内存容量。它的值之所以大于free,是因为加入了buff/cache的部分内存空间


buffer(缓冲区)是为了提高内存和硬盘或其他I/O设备之间的数据交换速度而设计的;cache(缓存)则经常被用在磁盘I/O请求上,比如有多个进程都要访问某个文件,

系统可以把该文件变成cache以被同时访问,从而提高系统的性能。

buffer和cache所占用的部分内存空间,当系统需要时还可以根据情况进行回收,

因此,available部分的数值就是free再加上可以回收的buff/cache部分的数值


在观察系统的内存使用情况时,还需要特别留意swap(交换分区)的信息。

交换分区的概念在之前曾介绍过,它类似于Windows系统中的虚拟内存,但Linux的交换分区相比Windows的虚拟内存在设计上要更为高效,因为Linux系统会优先使用物理内存,只有万不得已时才会动用交换分区。

因而只要发现系统没有使用swap,就不用担心内存太小。

而如果常常看到swap空间被占用了很多,就得考虑增加物理内存了,

这也是在Linux服务器上查看内存是否够用的一个重要参考依据。


free

好的生活就是不瞎想,做得多,要得少,常微笑,懂知足。

评论

^