Appearance
Linux 增加交换空间
1. 使用文件增加交换空间
创建交换文件:
Bashsudo fallocate -l 2G /swapfile这个命令将创建一个大小为 2GB 的交换文件。你可以根据需要调整大小。
如果
fallocate不可用,可以使用dd命令:Bashsudo dd if=/dev/zero of=/swapfile bs=1M count=2048设置正确的权限:
交换文件应该只被 root 用户访问,因此设置权限:
Bashsudo chmod 600 /swapfile将文件格式化为交换空间:
Bashsudo mkswap /swapfile启用交换文件:
Bashsudo swapon /swapfile永久启用交换文件:
为了在系统重启后仍然启用交换文件,编辑
/etc/fstab文件,添加以下内容:Bash/swapfile none swap sw 0 0Note
可直接使用以下命令完成上述操作:
Bashecho '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab/swapfile none swap sw 0 0配置说明:/swapfile:交换文件的路径;none:挂载点(对于交换文件来说,这里不需要挂载点,所以使用none);swap:文件系统类型(这里表示交换空间);sw:挂载选项(表示启用交换空间);0 0:这两个数字分别表示转储频率和文件系统检查顺序(对于交换文件来说,这里都设置为0);
tee -a /etc/fstab命令说明:tee命令从标准输入读取数据,并将其写入到标准输出和一个或多个文件中;-a选项表示以追加模式写入文件,而不是覆盖文件内容;/etc/fstab是目标文件,存储文件系统的挂载信息;
查看当前交换空间:
使用以下命令查看当前的交换空间情况:
Bashfree -h
2. 调整交换策略
可以通过调整 swappiness 参数来控制系统使用交换空间的倾向。默认值为 60,可以根据需要进行调整。数值越低,系统越不倾向于使用交换空间:
Bash
sudo sysctl vm.swappiness=10如果想让这个设置在重启后生效,可以将以下行添加到 /etc/sysctl.conf 文件中:
Bash
vm.swappiness=10这样,你的系统应该能够更好地应对内存不足的情况。