从零开始学shell之free命令


前言

free命令对我们查看系统内存的状态有很大的帮助,打算好好学习一下。

free命令

功能

显示系统中空闲,使用中和交互的内存,以及被内核使用的缓冲和缓存内存。可以通过查看/proc/meminfo文件查看更多信息。

字段解释

字段 解释
total 全部可用内存。物理内存+swap内存(swap内存是Linux用一部分磁盘在内存紧张的时候作为内存使用,缺点是性能不高)
used 使用的内存 计算方法是total - free - buffers - cache
free 空闲内存 包含物理空闲内存和swap空闲内存
shared 共享内存
buffers 内核缓冲内存
cache 内核缓存内存
buff/cache buffers和cache的总和
available 估计对于对新应用来说可用的内存大概是多少。如果free内存不够用,系统会回收buff和cache内存。但是因为内核的buff和cache不能回收,所以available <= free + buff/cache

参数解释

参数 解释
b 以字节为单位显示内存
k 以kb为单位显示内存,这是默认选项
m 以mb为单位显示内存
g 以g为单位显示内存
t 以t为单位显示内存
h 以更人性化的方式显示内存
w 宽屏模式显示。在这个模式下buffers和cache是单独的两行。
c 和s参数一起使用,以一定的频率(s),统计(c)多次内存情况
s 后面接数字,表示以多少秒频率收集内存情况。
-t 显示total行。统计mem和swap的总共内存,使用内存和空间内存。

总结

通过free命令,可以对内存有一个直观的了解,方便我们排查问题