Bootstrap

Ubuntu添加swap分区

Ubuntu添加swap分区

检查系统的swap分区的信息

检查系统中是否存在swap分区:
sudo swapon --show
如果没有输出,表示系统没有swap分区。
如果没有swap分区,检查内存情况,输入:
free -h
这里写图片描述

检查可用的硬盘分区

输入:df -h 检查当前的硬盘使用情况。输出情况:
这里写图片描述
在本例子中,/dev/sda2是当前使用的分区。一般来说,swap分配的是内存容量的两倍。

创建swap文件

现在,我们创建一在root(/)下名为swapfie的目录。这需要借助于fallocate程序。我们的内存是11G,考虑到硬盘实际情况,在这里我们创建一个和内存等大的swap分区即可,如果大家硬盘空间够大或者内存偏小,可以创建两倍的空间。输入命令:
sudo fallocate -l 11G /swapfile
确认正确的分配:
ls -lh /swapfile
输出:
这里写图片描述

使用swap文件

使文件仅能有root用户使用,使用:
sudo chmod 600 /swapfile
输出:
这里写图片描述
可以看出,此时的文件权限发生变化。

现在,使swapfile作为swap分区:
sudo mkswap /swapfile
输出:
这里写图片描述

初始化分区:
sudo swapon /swapfile
确认分区可行:
sudo swapon --show
输出:
这里写图片描述
现在,再重新检查分区情况:
free -h
输出:
这里写图片描述

永久地使用swapfile

之前设置的swapfile在重启后会消失,现在进行处理,使得swapfile永久存在。需要把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参数

swapiness参数表明系统中内存与swa分区的数据交换次数。如果数值是0,那么内核会仅仅在必要的情况下才会把数据写入swap分区;如果值是100,内核会尽量多地把数据写入swap分区,使内存有更多的空闲空间。
查看数据:
cat /proc/sys/vm/swappiness
系统输出60.
对于桌面系统来说,60不是一个糟糕的数值,对于服务器来说,最好是设置的非常靠近0。我们可以通过sysctl命令调整这个数值。比如:
这里写图片描述
不过,这个设置只在每次重启前有效,可以在/etc/sysctl.conf文件中调整,这样每次开机时会自动设置(在这里,我设置成10)。
输入:
sudo gedit /etc/sysctl.conf
在文件最后添加:
vm.swappiness=10

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;