free 命令示例

系统 Linux
Linux 中的 free 命令可以帮助你深入了解系统内存(RAM)的使用情况等。下面介绍如何充分利用它。

free 命令是了解系统内存(RAM)消耗情况,以及是否启用了交换的最简单方法之一。

但问题是:如何使用 free 命令? 嗯,这非常简单,不需要任何复杂的步骤。

因此,在本教程中,我将引导你使用 free 命令,并附有示例和练习题供你练习。

Linux 中如何使用 free 命令

要使用 free 或任何其他命令,最好从命令语法开始,我将从相同的开始。

以下是 free 命令的语法:

free [选项]

有多个选项可以使用,以更改 free 命令的默认行为。

现在,让我分享一些 free 命令常用的选项:

选项

描述

-h

通过调整 KB、GB 等数据单位,以人类可读的形式打印信息。

-s

在给定的时间间隔后更新 free 输出。

-t

显示系统和交换内存的总量。

-g

以 GB 为单位显示数据。

-m

以 MB 为单位打印信息。

-k

以 KB 为单位显示输出。

但是如果执行不带选项的 free 命令会怎样呢? 你可以看到下面的内容:

这里,

  • total:表示存储总量。
  • used:显示系统已使用的存储空间。
  • free:可用于新进程的可用内存量。
  • shared:tmpfs(临时文件系统)使用的内存量。
  • buff/cache: 表示缓冲区和缓存使用的内存总和。
  • available:它估计有多少内存可用于启动新应用而无需交换。它是free 内存和可以立即使用的 buff/cache 的一部分的总和。

因此,如果你想要各种信息,只需输入不带选项的命令即可。

现在,让我们看一下 free 命令的一些示例。

1、以人类可读的形式显示信息

默认情况下,free 命令将以千字节为单位显示数据,这不是最易读的形式。

这就是 -h 选项发挥作用的地方,它以人类可读的形式(例如 KB 或 GB)打印值。

free -h

2、连续显示统计数据

一旦执行 free 命令,它只会显示执行该命令时的统计信息。例如,如果我在 12:45 执行 free 命令,那么它只会显示该时间的统计信息。

所以问题是:如何实现类似的行为,如显示实时统计数据的 htop?这不完全相同,但你可以使用 -s 标志以特定时间间隔刷新统计信息,如下所示:

free -s <秒>

例如,如果我想每秒刷新一次 free 命令,那么我将使用以下命令:

free -s 1

3、定义显示统计数据的次数

在前面的示例中,我解释了如何使用 free 命令连续显示统计信息,但你可能不希望它无休止地刷新,而只刷新几次。

为此,你可以使用 -c 标志,如下所示:

free -c <显示统计信息的次数>

假设我想查看统计数据 3 次,那么我将使用以下内容:

free -c 3

默认情况下,它将每秒刷新一次数据,但你可以使用 -s 标志来指定间隔时间:

free -c <显示统计数据的次数> -s <秒数>

例如,在这里,如果我想以 2 秒的间隔显示统计信息 3 次,那么我将使用以下命令:

free -c 3 -s 2

4、指定输出数据类型

虽然对于大多数用户来说,使用 -h 标志以人类可读的形式显示数据就可以完成工作,但是如果你想自己指定数据类型怎么办?

那么,你可以使用以下标志指定数据类型:

标志

描述

--kilo 或 -k

以 KB 为单位显示内存。

--mega 或 -m

以 MB 节为单位显示内存。

--giga 或 -g

以 GB 为单位显示内存。

--tera

以 TB 为单位显示内存。

你可以通过以下方式使用上述标志:

free --<kilo/mega/giga/tera>

例如,如果我希望以 MB 为单位显示内存统计信息,那么我将使用以下命令:

free --mega

5、获取物理内存和交换内存的总和

默认情况下,可用内存将显示物理内存和交换内存的行,但是如果你想获得它们的总和怎么办?

好吧,你可以使用 -t 标志:

free -t

练习题 👨💻

你可以练习以下一些问题,以更好地使用 free 命令:

  • 连续打印内存统计数据 3 次,中间间隔 3 秒。
  • 以人类可读的形式获取物理内存和交换内存的总和。
  • 重定向 free 命令的输出到文本文件中。
  • 如何从 free 命令的输出中只打印一列? (提示:使用 awk 命令 并指定列号)。

如果你对这些问题有任何疑问,你可以在此处发表评论。

总结

每个命令都会以某种方式派上用场。free 命令也有这样一个被低估的场景来获取有用的信息。

💬 我希望你发现本指南有用! 请让我知道你对我接下来应该介绍什么内容的想法?

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2010-04-08 10:04:59

free命令Linux系统内存监控

2024-01-24 14:42:33

Linux操作系统系统工具

2010-03-18 16:51:32

2013-11-15 16:07:26

Linux dfLinux命令

2023-01-12 13:32:00

w 命令Linux

2018-04-16 10:12:46

Linux命令gunzip

2023-01-10 14:10:27

Linuxwho 命令

2023-02-14 16:45:54

2022-08-29 08:33:22

SocatLinux命令

2016-09-27 13:12:14

tar命令示例 Unix

2010-05-25 09:40:01

MySQL数据库

2023-01-15 17:24:16

LinuxBSDwhereis 命令

2018-01-15 14:07:16

Linux命令free

2020-04-21 16:13:29

LinuxCut命令Unix系统

2017-03-01 11:46:24

Linuxscreen命令示例

2021-03-01 13:00:21

Ansible系统运维

2022-05-08 09:39:20

LinuxTee 命令

2019-06-11 15:46:13

screen命令Linux

2010-07-15 15:56:46

AIX TELNET命

2011-08-12 10:58:56

free中文man
点赞
收藏

51CTO技术栈公众号