在 Anolis OS 中设置虚拟内存(swap)
在 Anolis OS(或其他基于 Red Hat Enterprise Linux 或 CentOS 的发行版)中设置虚拟内存(通常指的是交换空间或 swap),可以按照以下步骤进行操作。
交换空间是物理 RAM 的补充,用于处理系统负载高峰时不足的 RAM。
一、检查现有的交换空间
检查当前系统是否有交换空间以及交换空间的大小
free -h二、添加新的交换文件
如果发现当前没有交换空间,可以创建一个新的交换文件
1、创建交换文件
使用 dd 命令来创建一个 2GB 的交换文件
sudo dd if=/dev/zero of=/swapfile bs=1G count=22、设定权限
只有 root 用户才能访问交换文件,因此需要更改文件的所有者和权限
sudo chmod 600 /swapfile3、设置文件为交换区域
使用 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 上成功设置虚拟内存(交换空间)。