虚拟内存(交换空间)可以帮助在物理内存不足时,系统仍然能够正常运行。
1. 检查现有交换空间
首先,检查系统是否已经配置了交换空间:
sudo swapon --show
如果没有任何输出,说明当前没有启用交换空间。
2. 创建交换文件
你可以通过创建一个交换文件来增加虚拟内存。以下是创建 6GB 交换文件的步骤:
2.1 创建交换文件
使用 dd
命令创建一个 6GB 的文件:
sudo dd if=/dev/zero of=/swapfile bs=1G count=6
这将创建一个名为 /swapfile
的文件,大小为 6GB。
2.2 设置正确的权限
为了安全起见,设置交换文件的权限,确保只有 root 用户可以读写:
sudo chmod 600 /swapfile
2.3 将文件设置为交换空间
使用 mkswap
命令将文件格式化为交换空间:
sudo mkswap /swapfile
2.4 启用交换文件
启用刚刚创建的交换文件:
sudo swapon /swapfile
2.5 验证交换空间
再次检查交换空间是否已启用:
sudo swapon --show
你应该会看到 /swapfile
被列出来。
3. 永久生效
为了让交换文件在系统重启后仍然有效,需要将其添加到 /etc/fstab
文件中。
3.1 编辑 /etc/fstab
使用文本编辑器打开 /etc/fstab
文件:
sudo nano /etc/fstab
3.2 添加交换文件条目
在文件末尾添加以下内容:
/swapfile none swap sw 0 0
保存并退出编辑器。
4. 调整交换空间的优先级(可选)
如果你有多个交换空间,可以通过调整优先级来控制它们的使用顺序。默认情况下,交换文件的优先级为 -2
。你可以通过以下命令设置优先级:
sudo swapon --priority 10 /swapfile
5. 验证设置
最后,验证交换空间是否已正确设置:
free -h
你应该会看到类似以下的输出,其中 Swap
行显示了你刚刚设置的 6GB 交换空间:
total used free shared buff/cache available
Swap: 6.0G 0B 6.0G
6. 调整交换性(可选)
交换性(Swappiness)是一个内核参数,用于控制系统使用交换空间的倾向。默认值为 60
,范围是 0
到 100
。值越高,系统越倾向于使用交换空间。
你可以通过以下命令查看当前交换性:
cat /proc/sys/vm/swappiness
如果你想调整交换性,可以编辑 /etc/sysctl.conf
文件:
sudo nano /etc/sysctl.conf
添加或修改以下行:
vm.swappiness=10
保存并退出编辑器,然后应用更改:
sudo sysctl -p