如何在Ubuntu 22.04上添加交换空间

如何在Ubuntu 22.04上添加交换空间

💡 原文英文,约900词,阅读约需4分钟。
📝

内容提要

在Ubuntu 22.04服务器上添加交换文件可以防止内存不足。创建交换文件的步骤包括禁用现有交换、创建新文件、设置权限、标记为交换空间并启用。需在/etc/fstab中添加信息以保持设置,并可调整swappiness和vfs_cache_pressure参数以优化性能。

🎯

关键要点

  • 在Ubuntu 22.04服务器上添加交换文件可以防止内存不足。

  • 交换空间是硬盘存储的一部分,用于临时存储无法在RAM中保持的数据。

  • 检查系统是否有配置的交换空间,可以使用命令:sudo swapon --show。

  • 禁用现有交换文件并删除,使用命令:sudo swapoff -v /swapfile 和 sudo rm /swapfile。

  • 创建新的交换文件,设置大小为8G,使用命令:sudo fallocate -l 8G /swapfile。

  • 设置文件权限为仅root可访问,使用命令:sudo chmod 600 /swapfile。

  • 将文件标记为交换空间,使用命令:sudo mkswap /swapfile。

  • 启用交换文件,使用命令:sudo swapon /swapfile。

  • 为了在重启后保留交换设置,需要在/etc/fstab中添加信息。

  • 备份/etc/fstab文件,使用命令:sudo cp /etc/fstab /etc/fstab.bak。

  • 在/etc/fstab文件末尾添加交换文件信息,使用命令:echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab。

  • swappiness参数配置系统将数据从RAM交换到交换空间的频率,值在0到100之间。

  • swappiness值接近0时,系统不轻易使用交换空间,接近100时则会更多使用交换空间。

  • 可以使用命令:cat /proc/sys/vm/swappiness查看当前swappiness值。

  • 对于桌面,swappiness设置为60是合理的;对于服务器,建议接近0。

  • 使用sysctl命令设置swappiness值,例如:sudo sysctl vm.swappiness=10。

  • vfs_cache_pressure参数配置系统缓存inode和dentry信息的程度。

  • 可以使用命令:cat /proc/sys/vm/vfs_cache_pressure查看当前值。

  • 将vfs_cache_pressure设置为50,使用命令:sudo sysctl vm.vfs_cache_pressure=50。

  • 将swappiness和vfs_cache_pressure的设置添加到/etc/sysctl.conf文件中以保持设置。

延伸问答

如何在Ubuntu 22.04上添加交换空间?

可以通过禁用现有交换、创建新交换文件、设置权限、标记为交换空间并启用来添加交换空间。

交换空间的作用是什么?

交换空间用于临时存储无法在RAM中保持的数据,防止内存不足。

如何检查当前系统的交换空间配置?

可以使用命令:sudo swapon --show来检查当前的交换空间配置。

如何在重启后保持交换设置?

需要在/etc/fstab文件中添加交换文件的信息,以保持设置。

swappiness参数的作用是什么?

swappiness参数配置系统将数据从RAM交换到交换空间的频率,值在0到100之间。

如何调整vfs_cache_pressure参数?

可以使用命令:sudo sysctl vm.vfs_cache_pressure=50来调整vfs_cache_pressure参数,并将其添加到/etc/sysctl.conf以保持设置。

➡️

继续阅读