6个例子让初学者掌握free命令

6 个例子让初学者掌握 free 命令 | Linux 中国,freelinux

在 Linux
系统上,有时你可能想从命令行快速地了解系统的已使用和未使用的内存空间。如果你是一个
Linux 新手,有个好消息:有一条系统内置的命令可以显示这些信息:free。–
Himanshu Arora
本文导航◈ Linux free 命令07%◈ Q1. 怎么用 free
命令查看已使用和未使用的内存?14%◈ Q2.
如何更改显示的单位呢?44%◈ Q3.
怎么显示可读的结果呢?53%◈ Q4. 怎么让 free
命令以一定的时间间隔持续运行?61%◈ Q5. 怎么使
free 基于 1000 计算内存,而不是 1024?73%◈ Q6.
如何使 free 命令显示每一列的总和?81%◈ 总结89%编译自 |  
 作者 | Himanshu Arora
 译者 | jessie-pang

在 Linux
系统上,有时你可能想从命令行快速地了解系统的已使用和未使用的内存空间。如果你是一个
Linux 新手,有个好消息:有一条系统内置的命令可以显示这些信息:free

在本文中,我们会讲到 free
命令的基本用法以及它所提供的一些重要的功能。文中提到的所有命令和用法都是在
Ubuntu 16.04LTS 上测试过的。

Linux free 命令

让我们看一下 free 命令的语法:

  1. free [options]

free 命令的 man 手册如是说:

free 命令显示了系统的可用和已用的物理内存及交换内存的总量,以及内核用到的缓存空间。这些信息是从 /proc/meminfo 中得到的。

接下来我们用问答的方式了解一下 free 命令是怎么工作的。

Q1. 怎么用 free 命令查看已使用和未使用的内存?

这很容易,您只需不加任何参数地运行 free 这条命令就可以了:

  1. free

这是 free 命令在我的系统上的输出:

view used and available memory using free command

这些列是什么意思呢?

◈ total –
安装的内存的总量(等同于 /proc/meminfo 中的 MemTotal 和 SwapTotal)◈ used –
已使用的内存(计算公式为:used = total – free – buffers – cache)◈ free –
未被使用的内存(等同于 /proc/meminfo 中的 MemFree 和 SwapFree)◈ shared –
通常是临时文件系统使用的内存(等同于 /proc/meminfo 中的 Shmem;自内核
2.6.32 版本可用,不可用则显示为 0)◈ buffers –
内核缓冲区使用的内存(等同于 /proc/meminfo 中的 Buffers)◈ cache –
页面缓存和 Slab
分配机制使用的内存(等同于 /proc/meminfo 中的 Cached 和 Slab)◈ buff/cache – buffers 与 cache 之和◈ available –
在不计算交换空间的情况下,预计可以被新启动的应用程序所使用的内存空间。与 cache 或者 free 部分不同,这一列把页面缓存计算在内,并且不是所有的可回收的
slab
内存都可以真正被回收,因为可能有被占用的部分。(等同于 /proc/meminfo 中的 MemAvailable;自内核
3.14 版本可用,自内核 2.6.27
版本开始模拟;在其他版本上这个值与 free 这一列相同)

Q2. 如何更改显示的单位呢?

如果需要的话,你可以更改内存的显示单位。比如说,想要内存以兆为单位显示,你可以用 -m这个参数:

  1. free -m

free command display metrics change

同样地,你可以用 -b 以字节显示、-k 以 KB 显示、-m 以 MB
显示、-g 以 GB 显示、--tera 以 TB 显示。

Q3. 怎么显示可读的结果呢?

free 命令提供了 -h 这个参数使输出转化为可读的格式。

  1. free -h

用这个参数,free 命令会自己决定用什么单位显示内存的每个数值。例如:

diplsy data fromm free command in human readable form

Q4. 怎么让 free 命令以一定的时间间隔持续运行?

您可以用 -s 这个参数让 free 命令以一定的时间间隔持续地执行。您需要传递给命令行一个数字参数,做为这个时间间隔的秒数。

例如,使 free 命令每隔 3 秒执行一次:

  1. free -s 3

如果您需要 free 命令只执行几次,您可以用 -c 这个参数指定执行的次数:

  1. free -s 3 -c 5

上面这条命令可以确保 free 命令每隔 3 秒执行一次,总共执行 5 次。

注:这个功能目前在 Ubuntu 系统上还存在 问题[1],所以并未测试。

Q5. 怎么使 free 基于 1000 计算内存,而不是 1024?

如果您指定 free 用 MB 来显示内存(用 -m 参数),但又想基于 1000
来计算结果,可以用 --sj 这个参数来实现。下图展示了用与不用这个参数的结果:

How to make free use power of 1000 \(not 1024\) while displaying
memory figures

Q6. 如何使 free 命令显示每一列的总和?

如果您想要 free 命令显示每一列的总和,你可以用 -t 这个参数。

  1. free -t

如下图所示:

How to make free display total of columns

请注意 Total 这一行出现了。

总结

free 命令对于系统管理来讲是个极其有用的工具。它有很多参数可以定制化您的输出,易懂易用。我们在本文中也提到了很多有用的参数。练习完之后,请您移步至 man
手册[2]了解更多内容。


via: 

作者:Himanshu Arora[4] 译者:jessie-pang 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

LCTT 译者jessie-pang ?共计翻译:1 篇贡献时间:5

推荐文章

< 左右滑动查看相关文章 >

点击图片、输入文章 ID 或识别二维码直达

原文链接请访问“原文链接”获得可点击的文内链接、全尺寸原图和相关文章。

图片 1

图片 2

对于 Linux 管理员来说,检查系统内存用量是一个重要的技能。Jack
给出了解决这个问题的五种不同方式。

在 Linux
系统上,有时你可能想从命令行快速地了解系统的已使用和未使用的内存空间。如果你是一个
Linux 新手,有个好消息:有一条系统内置的命令可以显示这些信息:free

Linux
操作系统包含大量工具,所有这些工具都可以帮助你管理系统。从简单的文件和目录工具到非常复杂的安全命令,在
Linux
中没有多少是你做不了的。而且,尽管普通桌面用户可能不需要在命令行熟悉这些工具,但对于
Linux 管理员来说,它们是必需的。为什么?首先,你在某些时候不得不使用没有
GUI 的 Linux 服务器。其次,命令行工具通常比 GUI
替代工具提供更多的功能和灵活性。

在本文中,我们会讲到 free
命令的基本用法以及它所提供的一些重要的功能。文中提到的所有命令和用法都是在
Ubuntu 16.04LTS 上测试过的。

确定内存使用情况是你可能需要的技能,尤其是某个应用程序变得异常和占用系统内存时。当发生这种情况时,知道有多种工具可以帮助你进行故障排除十分方便的。或者,你可能需要收集有关
Linux
交换分区的信息,或者有关安装的内存的详细信息?对于这些也有相应的命令。让我们深入了解各种
Linux
命令行工具,以帮助你检查系统内存使用情况。这些工具并不是非常难以使用,在本文中,我将向你展示五种不同的方法来解决这个问题。

Linux free 命令

让我们看一下 free 命令的语法:

free [options]

free 命令的 man 手册如是说:

free
命令显示了系统的可用和已用的物理内存及交换内存的总量,以及内核用到的缓存空间。这些信息是从
/proc/meminfo 中得到的。

接下来我们用问答的方式了解一下 free 命令是怎么工作的。

我将在 Ubuntu 18.04
服务器平台上进行演示,但是你应该在你选择的发行版中找到对应的所有命令。更妙的是,你不需要安装任何东西(因为大多数这些工具都包含
Linux 系统中)。

Copyright @ 2015-2019 ca88 版权所有
网站地图xml地图