计算机的虚拟内存是一种高优先级资源,因此必须使用我们提供的工具对其进行妥善控制和监控。这包括了解如何查看已用和可用内存,以及交换空间。交换空间存储所有非高优先级数据和进程,这些数据和进程要么尚未加载到内存中,要么为了给高优先级进程腾出空间而从内存中移除。以上是对虚拟内存工作原理的简要说明,并未涉及过多细节。
要学习如何在 Linux 系统中控制(或者更确切地说是监控)这些内存,有很多方法。您可以直接使用 `--` 命令查看 Linux 提供的 `/proc` 目录下的文件,或者使用我们稍后会提到的工具,这些工具可以利用这些或其他类型的文件来获取信息,并以更友好或更有条理的方式呈现。您甚至可以使用像 `top` 这样的命令以及其他与进程相关的命令来获取有关内存的特定数据。首先,我们来看`free` 命令。通过它,您可以查看已用和可用 RAM、交换空间、缓冲区等。您还可以使用 `-h` 选项,在我看来,它以一种更易于理解的方式显示单位。
free -h
使用swapon命令我们可以激活分区或交换文件,但使用 -s 选项我们还可以看到其容量:
swapon -s
我们继续 vmstat的 顾名思义,它显示了虚拟内存的状态:
vmstat
另一种选择是使用memstat,类似于前一种方法:
memstat
现在我们来看一下可以用来获取内存信息的/proc 文件:
cat /proc/swaps
cat /proc/meminfo
最后,我们将使用另一个命令,该命令仅使用DMI 表来获取硬件信息,在本例中,使用此选项仅筛选与内存相关的信息:
sudo dmidecode --type memory