出于某些原因,您可能需要了解系统的RAM使用情况。首先,它可以使您了解是否有必要升级服务器或计算机内部的内存大小。如果您看到内存利用率经常接近满容量,则表明您的系统需要升级。

另一方面,它也可以帮助您查找系统上的问题。内存使用量激增可能表明计算机上正在运行的进程存在问题。在本教程中,我们将为Linux管理员介绍一些检查和监控Linux系统中RAM使用情况的方法。

在本教程中,您将学习:

如何使用free检查RAM使用情况

free监控正在进行的RAM使用情况

free工作如何?

如何使用top检查RAM使用情况

如何使用htop检查RAM使用情况

1、如何使用free检查RAM使用情况

free是Linux中一个非常快速和简单的方法来看到系统当前的内存利用率的命令。下面是使用free在测试系统上显示的内容:

linux系统查看emmc 大小 linux 查看ram_缓存

如您所见,默认情况下,输出以千字节为单位。-h代表“可读”,可帮助我们更好地理解输出:

linux系统查看emmc 大小 linux 查看ram_缓存_02

现在,即使只是简单的看了一眼,数值也清晰了许多。这个输出告诉我们,我们的系统有大约2GB的物理内存,和大约1GB的交换内存。让我们来分解一下所有这些列所代表的细节,因为这里的术语有点混乱。

Total:这一栏很明显,它显示了系统中实际安装了多少RAM,以及交换文件的大小。

Used:这一栏列出了当前正在使用的内存量。这一栏列出了当前正在使用的内存量--但是等等,这并不像听起来那么直观。仅仅因为内存 "正在使用 "并不意味着任何进程或应用程序正在积极使用内存。

虽然 "Used "一栏确实代表了系统中各种程序当前正在使用的RAM,但它也加入了内核用于缓冲和缓存的RAM。这使得读写操作更有效率,但如果进程需要,内核会重新分配内存。

此列中的数字是total-free-buffers-cache的总和。

Free:这一栏列出了完全未被使用的内存量。通常情况下,这里应该有一个很小的数字,因为Linux将大部分的空闲内存用于缓冲区和缓存,而不是让它完全闲置。从上面的示例输出中可以看到,我们的测试机只有145MB的内存是完全闲置的。

Shared:这一栏显示的是专门用于临时文件存储的内存量。顾名思义,这个文件系统存储的是临时文件,用来加快计算机上的操作速度。在 Linux 中,tmpfs 被表示为一个挂载的文件系统,尽管这些文件都没有被写入磁盘,而是存储在 RAM 中,因此需要使用这一栏。

可以用df命令来观察系统的tmpfs 存储空间:

linux系统查看emmc 大小 linux 查看ram_sed_03

Buffer/Cache:这一栏包含了缓冲区和缓存的总和。Linux利用缓冲区和缓存使读写操作更快--从内存中读取数据比从硬盘中读取数据要快得多。这里所代表的大部分内存可以在需要的时候被进程回收。

你可以通过指定-w选项分别查看这两列:

linux系统查看emmc 大小 linux 查看ram_linux系统查看emmc 大小_04

Available:这一列包含了可用内存的估计值(准确的估计值,但仍是估计值)。这一列中的数字是可用来重新分配的空闲内存和缓存内存的总和。

如果你只想回答 "我的系统有多少可用的空闲内存?",你应该看这一列。同样,要想知道当前使用的RAM有多少(不考虑缓冲区和缓存),请从总量中减去可用的数量。

2、用空闲的RAM使用量来监控当前的RAM使用量

当运行free命令时,它会显示当前的RAM利用率。但free也有一些连续运行的选项,以备不时之需。

如果你想在执行系统上的某些任务时,比如打开一个资源密集型程序时,这很方便。

-s(秒)开关允许free连续运行,每隔指定的秒数发出新的输出。例如,每3秒运行一次free命令。

# free -s 3

要停止运行free ,只需按下Ctrl + C键。

如果你只想让free运行一定次数,你可以使用-c(count选项)。例如,这个命令将在退出程序之前,free运行3次:

# free -c 3

如果没有 -s 选项,计数选项每隔一秒钟就会发出新的输出。但是可以自由组合这两个开关来得到你想要的行为。例如:

# free -h -s 5 -c 20

free工作如何?

值得一提的是,free命令实际上只是查看已显示在其他位置的信息的一种简洁方法。如果您想直接进入源代码,请看一下/proc/meminfo伪文件:

linux系统查看emmc 大小 linux 查看ram_linux系统查看emmc 大小_04

3、如何使用top检查RAM使用情况

尽管该free命令在向我们展示系统的总体RAM利用率方面做得很出色,但它并不能告诉我们哪些任务正在消耗内存。这就是该top命令的优势所在,它显示系统上每个进程的内存利用率。

# top

请注意%MEM列。

要按内存使用量对程序进行排序,请在运行top时按Shift + m。这将使您快速了解哪些进程占用了最多的内存,并且可以不断监视它们的使用情况。

只需按q退出top。

4、如何使用htop检查RAM使用情况

一个能将这两方面的优点结合在一起的程序如何?htop实用程序可以让我们清楚地看到整体的RAM利用率,不断地更新统计数据,也可以让我们看到每个进程使用了多少内存。

与free和top不同,htopLinux默认情况下通常不包括。安装方法如下:

Ubuntu和Debian:

$ sudo apt-get install htop
CentOS和Red Hat:
# yum install htop
Fedora:
# dnf install htop

安装完成后,只需键入htop即可运行它。

# htop

整个系统的内存使用量显示在屏幕上方。要根据内存使用情况对进程进行排序,请按F6,然后用键盘上的方向键选择%MEM。

按q键随时退出htop。

总结

在本文中,我们看到了如何检查和监视Linux系统上的RAM利用率。我们了解了可以帮助我们进行监视的多种工具,以及如何有效使用这些工具。

使用本文中的各种方法,您始终可以确定系统的RAM使用情况,包括哪些进程正在积极使用它。这可以将您带到系统问题中,或帮助您确定系统是否将从内存升级中受益。