Ubuntu Swapper(交换分区或交换文件)是Linux系统中用于虚拟内存管理的重要部分。它在物理内存不足时将部分数据移动到硬盘上的交换空间中,以释放物理内存供其他进程使用,从而提升系统的稳定性和性能。以下是具体介绍:
创建交换文件:
sudo fallocate -l 4G /swapfile
如果 fallocate
不可用,可以使用 dd
命令:sudo dd if=/dev/zero of=/swapfile bs=1M count=4096
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show
或者查看 /proc/swaps
文件:cat /proc/swaps
/etc/fstab
文件,添加以下行:/swapfile none swap sw 0 0
保存并退出编辑器。创建交换分区:
gparted
或其他分区工具创建一个新的交换分区。mkswap
命令将分区格式化为交换空间:sudo mkswap /dev/sdXN
其中 /dev/sdXN
是你的交换分区的设备名称。swapon
命令启用交换分区:sudo swapon /dev/sdXN
sudo swapon --show
或者查看 /proc/swaps
文件:cat /proc/swaps
/etc/fstab
文件,添加以下行:/dev/sdXN none swap sw 0 0
保存并退出编辑器。监控交换空间使用情况:
定期使用 free -h
命令查看系统的内存和交换空间使用情况,以监控交换的使用情况。
调整内核参数:
调整内核参数如 vm.swappiness
,可以减少系统对交换空间的依赖,从而优化Swapper的使用。默认值通常为60,但对于大多数Ubuntu版本,包括最新的LTS版本,这个值是合适的。如果希望减少系统对swap的依赖,可以将其设置为较低的值,例如:
sudo sysctl vm.swappiness=40
为了让这个设置在系统重启后依然有效,需要将其添加到 /etc/sysctl.conf
文件中:
echo 'vm.swappiness = 40' | sudo tee -a /etc/sysctl.conf
然后运行以下命令使更改生效:
sudo sysctl -p
定期进行磁盘整理: 长时间运行可能导致交换空间碎片化,影响性能。定期进行磁盘整理可以减少碎片化风险。
通过上述方法,可以有效优化Ubuntu系统中的Swapper,提升系统性能和稳定性。在进行任何系统级操作时,请确保备份重要数据,并在进行任何更改之前谨慎操作。