Linux Swap – 完整指南

如果您使用过 Linux,您一定遇到过“Linux交换”,尤其是在大多数 Linux 发行版的安装过程中。 在本文中,我们将研究 Linux Swap 以及为什么需要它。

什么是 Linux 交换以及我们为什么需要它?

如果你是一个狂热的 Linux 用户,你就会知道 Linux Swap 与 RAM 有关系。 好吧,交换实际上可以作为额外的存储空间,以防您的 RAM 太满并溢出。 在 RAM 无法容纳更多新进程的情况下,新应用程序可能会耗尽交换空间。 但是,这样的过程会比 RAM 慢得多。

在 Htop 中反映的交换

Linux 内核将几乎不使用的内存页移动到 交换 空间以便释放 内存 然后可以被更频繁访问的内存页面利用。 这 “互换性” value 决定哪些页面将保留在内存中,哪些将发送到 交换 空间。 降低 互换性, 数据被移动到 交换 划分。

这是一个很好的做法 交换 划分 或者 交换文件 即使系统具有高 内存. 它将几乎不使用的页面从缓存移动到内存以提高性能。 对于 RAM 相对较低的系统,因为它可能会发生 内存 新进程空间不足,无法为新进程分配内存。 在一些极端情况下, 核心 将部署 OOM 杀手 以消除高内存进程。

我们需要多少交换空间?

应该分配的 Swap 数量与我们系统上的 RAM 数量成正比。 推荐的设置是:

尺寸 内存 推荐尺码 交换
与 RAM 相同
2GB – 4GB RAM大小的一半
> 4GB 4GB 的交换空间应该足够了

我们可以使用以下命令检查当前交换的类型和大小:

NAME      TYPE      SIZE USED PRIO /dev/sda2 partition   4G   0B   -2 

因此,我们有一个交换 已启用 4GB。

如何启用 Linux 交换?

通常建议在安装操作系统期间设置交换分区。 但是,您也可以创建一个 交换文件 而不是专用分区。 交换文件具有额外的优势,您可以根据需要更改其大小。

要创建交换分区,请使用:

$ sudo fallocate -l 4G /swapfile 

这将创建一个 4GB 的交换文件,但您可以选择您认为合适的任何大小。

接下来我们需要使用 chmod 命令设置适当的权限:

$ sudo chmod 600 /swapfile 

最后,我们可以启用交换:

$ sudo swapon /swapfile 

最后,我们需要更新我们的 fstab 以使更改永久化。 为此,将以下行添加到 /etc/fstab :

/swapfile swap swap defaults 0 0 

在此之后,我们应该启用交换!

删除交换文件

要禁用交换,首先使用以下命令将其停用:

$ sudo swapoff -v /swapfile 

之后,从 /etc/fstab. 最后,删除实际的交换文件:

$ sudo rm /swapfile 

我们如何改变swappiness?

互换性 规定交换使用的程度。 默认交换值为 60。 互换性 价值与数量成反比 内存 用过的。

验证您的 互换性 价值做:

$ cat /proc/sys/vm/swappiness 

要修改默认值,我们需要编辑 /etc/sysctl.conf 文件并在文件末尾添加以下内容:

vm.swappiness=10 

10是最推荐的值 互换性 但你可以相应地改变它。

Save 并退出。 为了使更改生效,我们需要重新启动或系统,之后我们的系统将使用更多 内存 和更少的掉期。

结论

因此,我们看到 Linux 交换非常有用,尤其是对于较旧的机器。 有时,建议即使对于具有足够 RAM 的机器也启用交换作为安全做法。