Swap分区在Ubuntu系统中的作用主要是在物理内存不够用的时候,将硬盘内存中的一部分空间释放出来,以供当前运行的程序使用。这些被释放的空间可能来自一些很长时间没有什么操作的程序,它们被临时保存到Swap分区中,等到这些程序要运行时,再从Swap分区中恢复保存的数据到内存中。
在设置Swap分区的大小时,实际上并不取决于物理内存的量,而是取决于系统中的内存负荷。因此在安装Ubuntu系统时,需要根据具体的业务来设置SWAP的值。一般来说,可以按照如下规则设置Swap大小:4G以内的物理内存,SWAP 设置为内存的2倍;4-8G的物理内存,SWAP 等于内存大小;8-64G 的物理内存,SWAP 设置为8G;64-256G物理内存,SWAP 设置为16G。
设置Swap分区
1. 查看当前的分区情况:
2. 创建 swap 文件:
如果你没有未分配的磁盘空间,你可以创建一个 swap 文件。首先,使用以下命令创建一个用于 swap 的文件:
1
| sudo fallocate -l 2G /swapfile
|
3. 设置文件权限:
设置 swap 文件的权限,以确保只有 root 用户可以读写该文件:
1
| sudo chmod 600 /swapfile
|
4. 将文件设置为 swap 文件:
5. 启用 swap 文件:
如果想要永久启用 swap 文件,需要在 /etc/fstab
文件中添加一行,重启系统生效:
1
| echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
|
6. 验证 swap 分区:
1 2
| sudo swapon --show free -m
|
7. 取消临时启用的 Swap 分区:
1
| sudo swapoff -v /swapfile
|
如果还希望永久删除 swap 分区,则可以删除 swap 文件,并删除 /etc/fstab
文件中 swap 分区的相关条目。
如果要调整交换文件的大小为4G:
调整Swap分区大小
- 首先使用上面的第7步取消启用的 Swap 分区
- 然后使用
ftruncate
命令截断交换文件的大小。例如运行以下命令以将 /swapfile 文件的大小调整为 4G
1
| sudo ftruncate -s 4G /swapfile
|
- 最后使用面的第4-5步启用 Swap 分区