用以检查 Linux 内存使用的 5 个命令(2)

使用 vmstat 的最佳方法是使用 -s 选项,如 vmstat -s。这将在单列中报告统计信息(这比默认报告更容易阅读)。vmstat 命令将提供比你需要的更多的信息(图 6),但更多的总是更好的(在这种情况下)。

图 6:使用 vmstat 命令来检查内存使用情况。

图 6:使用 vmstat 命令来检查内存使用情况。

dmidecode

如果你想找到关于已安装的系统内存的详细信息,该怎么办?为此,你可以使用 dmidecode 命令。这个特殊的工具是 DMI 表解码器,它将系统的 DMI 表内容转储成人类可读的格式。如果你不清楚 DMI 表是什么,那么可以这样说,它可以用来描述系统的构成(以及系统的演变)。

要运行 dmidecode 命令,你需要 sudo 权限。因此输入命令 sudo dmidecode -t 17。该命令的输出(图 7)可能很长,因为它显示所有内存类型设备的信息。因此,如果你无法上下滚动,则可能需要将该命令的输出发送到一个文件中,比如:sudo dmidecode -t 17> dmi_infoI,或将其传递给 less 命令,如 sudo dmidecode | less。

图 7:dmidecode 命令的输出。

图 7:dmidecode 命令的输出。

/proc/meminfo

你可能会问自己:“这些命令从哪里获取这些信息?”在某些情况下,它们从 /proc/meminfo 文件中获取。猜到了吗?你可以使用命令 less /proc/meminfo 直接读取该文件。通过使用 less 命令,你可以在长长的输出中向上和向下滚动,以准确找到你需要的内容(图 8)。

图 8:less /proc/meminfo 命令的输出。

图 8:less /proc/meminfo 命令的输出。

关于 /proc/meminfo 你应该知道:这不是一个真实的文件。相反 /proc/meminfo 是一个虚拟文件,包含有关系统的实时动态信息。特别是,你需要检查以下值:

全部内存(MemTotal)

空闲内存(MemFree)

可用内存(MemAvailable)

缓冲区(Buffers)

文件缓存(Cached)

交换缓存(SwapCached)

全部交换区(SwapTotal)

空闲交换区(SwapFree)

如果你想使用 /proc/meminfo,你可以连接 egrep 命令使用它:egrep --color'Mem | Cache | Swap'/proc/meminfo。这将生成一个易于阅读的列表,其中包含 Mem、 Cache 和 Swap 等内容的条目将是彩色的(图 9)。

图 9:让 /proc/meminfo 更容易阅读。

图 9:让 /proc/meminfo 更容易阅读。

继续学习

你要做的第一件事就是阅读每个命令的手册页(例如 man top、man free、man vmstat、man dmidecode)。从命令的手册页开始,对于如何在 Linux 上使用一个工具,它总是一个很好的学习方法。

通过 Linux 基金会和 edX 的免费 “Linux 简介”课程了解有关 Linux 的更多知识。

via: https://www.linux.com/learn/5-commands-checking-memory-usage-linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f4a79d91fcb5fc6997ebe06eccf571d4.html