free
命令在Linux系统中是一个用于显示系统内存使用情况的实用工具,包括物理内存、虚拟内存(交换空间)以及共享内存的信息。下面是对free
命令输出各项参数的详细解释:
$ free -h
total used free shared buff/cache available
Mem: 3.8Gi 1.2Gi 1.4Gi 347Mi 1.2Gi 2.1Gi
Swap: 4.0Gi 0B 4.0Gi
total
:表示系统的总内存大小。used
:已使用的内存数量,包括了应用程序实际占用的内存和缓存(buffers和cached)。free
:未被分配的空闲内存。shared
:多个进程共享的内存总量。buff/cache
:buffers和cached是两个不同的概念,但在这里合并展示。buffers主要用来存储文件系统的metadata以及目录项等小块数据;cached则是用来缓存文件内容,以加快对文件的访问速度。这部分内存虽然在used
中统计,但实际上是可以随时释放给其他进程使用的。available
:表示可供当前系统立即使用的内存总数,这是Linux内核为了提高内存使用效率而计算出的一个参考值。Swap
:这部分展示的是交换空间信息,包括:total
:系统总的交换空间大小。used
:已被使用的交换空间大小。free
:未使用的交换空间大小。
另外,free
命令的一些常用选项:
-h
:以人类可读的方式(如K, M, G)显示内存大小。-m
:以MB为单位显示内存大小。-t
:显示物理内存和交换空间的总计信息。-s [间隔秒数]
:持续显示内存使用情况,每间隔指定秒数更新一次结果。
例如:free -ht 5
会每5秒刷新一次,并以人性化方式显示总内存和交换空间使用情况。