如何在 Linux 中检查交换空间

检查 Linux 中的交换内存

您可以像在 Linux 中检查内存使用情况一样检查交换:使用 free 命令。

如果您使用带有人类可读输出的 free 命令(带有选项 -h),它将向您显示 RAM 和 Swap 的使用情况。

free -h

对于我的系统,它显示以下输出:

              total        used        free      shared  buff/cache   available
Mem:           7.5G        5.8G        365M        726M        1.4G        787M
Swap:           14G        1.1G         13G

正如您在上面的输出中看到的,我的系统有 14 GB 的总交换空间,其中 1.1 GB 正在使用中。 大约 13 GB 的交换空间是可用的。

在 Linux 中有更多方法可以检查交换使用情况,您还可以获得一些关于交换的附加信息。

在 Linux 中检查交换使用情况的其他方法

我最喜欢在 Linux 中检查交换使用情况的方法是使用 swapon 命令。 这是专用于处理交换内存的命令。 除了提供有关正在使用的交换空间的准确信息外,它还告诉您交换空间是分区还是交换文件。

你可以像这样使用它:

swapon --show

正如您在输出中看到的,总交换空间为 14.9 GB(不是 free 命令显示的 14 GB)。 正在使用 1.1 GB,它是交换分区,而不是交换文件。

NAME           TYPE       SIZE USED PRIO
/dev/nvme0n1p4 partition 14.9G 1.1G   -2

使用交换文件是一个更好的主意,因为您可以使用它轻松增加 Linux 上的交换大小。 更改交换分区不是一个好主意。

获取交换内存详细信息的另一种方法是使用 /proc/meminfo 文件。 Linux 文件系统层次结构中的 proc 目录存储正在运行的进程的系统使用信息。

cat /proc/meminfo | grep -i swap

这是输出:

SwapCached:       164116 kB
SwapTotal:      15625212 kB
SwapFree:       13714756 kB

您还可以使用 top 检查 Linux 中的交换使用情况, htop 或任何其他系统监控工具。

额外提示:找出 Linux 中哪个进程正在使用交换空间

您可以使用开源实用程序 smem 在 Linux 中获得更准确的内存使用情况。 默认情况下不安装 smem,因此您必须使用发行版的包管理器安装它。

在 Ubuntu 中,smem 在 Universe 存储库中可用。 您可以使用以下命令安装它:

sudo apt install smem

安装后,您可以使用 smem 检查系统上哪个进程正在使用多少交换。

您可以在终端中简单地使用 smem 命令,但如果您的重点是检查交换使用情况,我建议您按以下方式对交换进行反向排序:

smem -rs swap

它将以交换利用率的相反顺序显示所有正在运行的进程:

  PID User     Command                         Swap      USS      PSS      RSS 
 3931 abhishek /opt/google/chrome/chrome     147668   296852   300926   341716 
 7483 abhishek /opt/google/chrome/chrome -   141524   392900   398545   464700 
15774 abhishek /opt/google/chrome/chrome -   127256   454080   456262   525048 
 1400 abhishek Telegram --                   122060    20528    22514    24832 
 3964 abhishek /opt/google/chrome/chrome -   108436   101632   111780   138312 
 2774 abhishek /usr/bin/gnome-shell          101936   204676   210229   225780 
 9170 abhishek /opt/google/chrome/chrome -    71620    68184    70255   121364 
  473 abhishek /opt/google/chrome/chrome -    57768   265880   267665   334252 
 8733 abhishek /opt/google/chrome/chrome -    52236    47280    48685   104332 
 9422 abhishek /opt/google/chrome/chrome -    41520    62708    64566   120084 

内存利用率以 kb 为单位。

好吧,我希望您现在知道如何检查 Linux 中的交换内存使用情况。 您可能还想了解在 Linux 上清除交换。

如果您使用的是交换文件,您可以在我们的视频中学习增加交换大小 YouTube 渠道:

订阅我们的 YouTube 频道以获取更多 LINUX 视频

如果您有任何问题或建议,请在下面的评论中告诉我。