从零开始学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命令,可以对内存有一个直观的了解,方便我们排查问题