free - 显示系统中可用和已用内存的量
概要
free [选项]
描述
free 显示系统中的总可用和已用物理内存和交换内存,以及内核使用的缓冲区和缓存。信息是通过解析 /proc/meminfo 获得的。显示的列为:
total 总可用内存(/proc/meminfo 中的 MemTotal 和 SwapTotal)。这包括物理内存和交换内存,减去一些保留的位和内核二进制代码。
used 已用或不可用内存(计算方式为 total - available)
free 未使用的内存(/proc/meminfo 中的 MemFree 和 SwapFree)
shared 内存由 tmpfs 使用(/proc/meminfo 中的 Shmem)
buffers
内核缓冲区使用的内存(/proc/meminfo 中的 Buffers)
cache 页面缓存和 slabs 使用的内存(/proc/meminfo 中的 Cached 和 SReclaimable)
buff/cache
缓冲区和缓存的总和
available
估计在不进行交换的情况下,启动新应用程序的可用内存量。与缓存或 free 字段提供的数据不同,此字段会考虑页面缓存,并且由于某些可回收内存块正在使用,因此并非所有可回收内存块都会被回收(/proc/meminfo 中的 MemAvailable,内核版本 3.14 中可用,内核版本 2.6.27+ 中进行模拟,否则与 free 相同)。
选项
-b, --bytes
以字节为单位显示内存量。
-k, --kibi
以千字节为单位显示内存量。这是默认值。
-m, --mebi
以兆字节为单位显示内存量。
-g, --gibi
以吉字节为单位显示内存量。
--tebi 以太字节为单位显示内存量。
--pebi 以拍字节为单位显示内存量。
--kilo 以千字节为单位显示内存量。表示使用 --si。
--mega 以兆字节为单位显示内存量。表示使用 --si。
--giga 以吉字节为单位显示内存量。表示使用 --si。
--tera 以太字节为单位显示内存量。表示使用 --si。
--peta 以拍字节为单位显示内存量。表示使用 --si。
-h, --human
以最短的三个数字单位自动缩放所有输出字段,并显示输出的单位。使用以下单位:
B = 字节
Ki = 千字节
Mi = 兆字节
Gi = 吉字节
Ti = 太字节
Pi = 拍字节
如果缺少单位,并且您的 RAM 或交换空间为艾字节,则数字将以太字节为单位,并且列可能与标题不对齐。
-w, --wide
切换到宽模式。宽模式会生成长度超过 80 个字符的行。在这种模式下,缓冲区和缓存会报告在两个单独的列中。
-c, --count 计数
显示结果的次数。需要 -s 选项。
-l, --lohi
显示详细的低内存和高内存统计信息。
-L, --line
在一行中显示输出,通常与 -s 选项一起使用,以重复显示内存统计信息。
-s, --seconds 延迟
以指定的秒数间隔连续显示结果。您可以指定任何浮点数作为延迟,使用 . 或 , 作为小数点。usleep(3) 用于微秒级延迟时间。
--si 使用千、兆、吉等(1000 的幂)而不是千字节、兆字节、吉字节(1024 的幂)。
-t, --total
显示一个显示列总数的行。
-v, --committed
显示一个显示内存提交限制和已提交/未提交内存量的行。该行中的总列将显示内存提交限制。如果禁用了内存超额提交,则此行相关。
--help 打印帮助信息。
-V, --version
显示版本信息。
文件
/proc/meminfo
内存信息
错误
在内核版本 2.6.32 之前的版本中,无法获取 shared 列的值,并且会显示为零。
请将错误报告发送到 _