内容提要
在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以保持设置。