> 环境与工具 > free

free 命令指南:检查系统内存使用情况

`free` 命令用于在 Linux 系统上显示可用物理内存(RAM)和交换内存的总量、使用量和空闲空间。它是系统性能监控和故障排除的重要工具。通过本指南,学习如何使用 `free` 命令的各种选项轻松查看内存信息。

free 概述

`free` 命令提供了一份关于操作系统当前如何管理内存的快照。这有助于判断系统是否因内存不足而导致性能下降,或者是否拥有足够的空闲内存。

理解内存类型

要正确解释 `free` 命令的输出,理解物理内存(RAM)、交换内存以及缓冲区/缓存的概念非常重要。

主要内存项

  • Mem (物理内存): 系统上安装的 RAM 总量。这是操作系统和正在运行的程序使用的实际内存空间。
  • Swap (交换内存): 当物理内存不足时使用的硬盘空间。它像 RAM 一样使用,但速度要慢得多。
  • total: 总内存或交换空间。
  • used: 当前使用的内存或交换空间。
  • free: 可用的内存或交换空间。
  • shared: 多个进程共享的内存。
  • buff/cache: 用作内核缓冲区和页面缓存的内存。这不是实际'浪费的'内存,而是更接近于'可用'内存,可以在需要时随时分配给应用程序。
  • available: 当新应用程序请求时可以分配的内存量。它比 `free` 字段能更准确地表示'可用'内存量。(在 Linux 内核 3.14 及更高版本中提供)

主要的 free 命令选项

`free` 命令允许通过各种选项更改输出单位,或过滤并显示特定信息。

1. 输出单位选项

2. 其他有用的选项

生成的命令:

请尝试组合命令。

描述:

`free` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

通过 `free` 命令的各种使用示例,学习如何有效地监控和分析系统内存使用情况。

以人类可读格式输出内存信息

free -h

最常用的选项,自动将内存信息转换为 MB 或 GB 单位,以便于查看。

以兆字节为单位输出内存信息

free -m

当您想清楚地以兆字节(MB)为单位检查内存使用情况时使用。

每隔 5 秒更新一次内存信息,共 3 次

free -h -s 5 -c 3

在短时间内观察系统内存变化时非常有用。(例如:在运行特定程序时观察内存使用情况的变化)

单独输出缓冲区和缓存(以 MB 为单位)

free -m -w

当您想将缓冲区和缓存内存作为独立的列查看时使用。`-w` 选项主要用于调试或详细分析。

将内存使用情况与 Unix 时间戳一起记录(脚本示例)

echo "$(date +%s),$(free -m | grep Mem | awk '{print $2,$3,$4,$6,$7}')" >> mem_log.csv

可用于 shell 脚本中,以定期记录内存使用情况并创建时间序列数据。


相同类别命令