出于某些原因,您可能需要了解系统的RAM使用情况。首先,它可以使您了解是否有必要升级服务器或计算机内部的内存大小。如果您看到内存利用率经常接近满容量,则表明您的系统需要升级。
另一方面,它也可以帮助您查找系统上的问题。内存使用量激增可能表明计算机上正在运行的进程存在问题。在本教程中,我们将为Linux管理员介绍一些检查和监控Linux系统中RAM使用情况的方法。
在本教程中,您将学习:
如何使用free检查RAM使用情况
free监控正在进行的RAM使用情况
free工作如何?
如何使用top检查RAM使用情况
如何使用htop检查RAM使用情况
1、如何使用free检查RAM使用情况
free是Linux中一个非常快速和简单的方法来看到系统当前的内存利用率的命令。下面是使用free在测试系统上显示的内容:
如您所见,默认情况下,输出以千字节为单位。-h代表“可读”,可帮助我们更好地理解输出:
现在,即使只是简单的看了一眼,数值也清晰了许多。这个输出告诉我们,我们的系统有大约2GB的物理内存,和大约1GB的交换内存。让我们来分解一下所有这些列所代表的细节,因为这里的术语有点混乱。
Total:这一栏很明显,它显示了系统中实际安装了多少RAM,以及交换文件的大小。
Used:这一栏列出了当前正在使用的内存量。这一栏列出了当前正在使用的内存量--但是等等,这并不像听起来那么直观。仅仅因为内存 "正在使用 "并不意味着任何进程或应用程序正在积极使用内存。
虽然 "Used "一栏确实代表了系统中各种程序当前正在使用的RAM,但它也加入了内核用于缓冲和缓存的RAM。这使得读写操作更有效率,但如果进程需要,内核会重新分配内存。
此列中的数字是total-free-buffers-cache的总和。
Free:这一栏列出了完全未被使用的内存量。通常情况下,这里应该有一个很小的数字,因为Linux将大部分的空闲内存用于缓冲区和缓存,而不是让它完全闲置。从上面的示例输出中可以看到,我们的测试机只有145MB的内存是完全闲置的。
Shared:这一栏显示的是专门用于临时文件存储的内存量。顾名思义,这个文件系统存储的是临时文件,用来加快计算机上的操作速度。在 Linux 中,tmpfs 被表示为一个挂载的文件系统,尽管这些文件都没有被写入磁盘,而是存储在 RAM 中,因此需要使用这一栏。
可以用df命令来观察系统的tmpfs 存储空间:
Buffer/Cache:这一栏包含了缓冲区和缓存的总和。Linux利用缓冲区和缓存使读写操作更快--从内存中读取数据比从硬盘中读取数据要快得多。这里所代表的大部分内存可以在需要的时候被进程回收。
你可以通过指定-w选项分别查看这两列:
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伪文件:
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使用情况,包括哪些进程正在积极使用它。这可以将您带到系统问题中,或帮助您确定系统是否将从内存升级中受益。