在 Anolis OS 中设置虚拟内存(swap)

/ A-WEI / 21阅读 / 0评论/ 分类: Linux

Anolis OS(或其他基于 Red Hat Enterprise LinuxCentOS 的发行版)中设置虚拟内存(通常指的是交换空间或 swap),可以按照以下步骤进行操作。

交换空间是物理 RAM 的补充,用于处理系统负载高峰时不足的 RAM。

一、检查现有的交换空间

检查当前系统是否有交换空间以及交换空间的大小

free -h

二、添加新的交换文件

如果发现当前没有交换空间,可以创建一个新的交换文件

1、创建交换文件

使用 dd 命令来创建一个 2GB 的交换文件

sudo dd if=/dev/zero of=/swapfile bs=1G count=2

2、设定权限

只有 root 用户才能访问交换文件,因此需要更改文件的所有者和权限

sudo chmod 600 /swapfile

3、设置文件为交换区域

使用 mkswap 命令将文件格式化为交换空间:

sudo mkswap /swapfile

三、启用交换文件

sudo swapon /swapfile

四、验证交换文件是否生效

通过以下命令查看交换文件是否已启用

执行下面的命令后应该能够看到新增的交换空间

free -h

五、永久启用交换文件

将其添加到 /etc/fstab 文件中让系统在重启后仍然使用交换文件。

编辑 /etc/fstab 文件:

sudo nano /etc/fstab

在文件末尾添加以下行:

/swapfile none swap sw 0 0

保存并退出编辑器

nano 中,按 Ctrl+O 保存,按 Ctrl+X 退出。

六、根据需要调整交换空间的使用

Linux 内核如何使用交换空间可以通过 swappiness 参数进行调整。默认情况下swappiness 的值为 60。值越低,Linux 内核就越倾向于保留 RAM 而而不是使用交换空间。

可以将其设置为 10 以优先使用物理 RAM:

sudo sysctl vm.swappiness=10

将其添加到 /etc/sysctl.conf 文件中使这个改变在系统重启后仍然有效

echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf

七、优化缓存和缓冲区

通过调整 vfs_cache_pressure 参数以控制内核回收 inode 和 dentries 的倾向来进一步优化内存管理。

sudo sysctl vm.vfs_cache_pressure=50

同样,要使其在重启后仍然有效:

echo "vm.vfs_cache_pressure=50" | sudo tee -a /etc/sysctl.conf

通过以上步骤,可以在 Anolis OS 上成功设置虚拟内存(交换空间)。