前文中大家曾详细介绍过 Linux 中的 Swap 交换分区,其实在服务器内存不足而影响到服务器响应能力甚至导致应用程序出错时,为 Ubuntu 14.04 添加一个 Swap 交换分区显然是一个折中的解决办法。
Linux 可以暂时在磁盘上划出一个 Swap 区域来代替内存使用,虽然 Swap 比物理内存慢很多,但对于物理内存着实太小或不够时,也还算是一个不错的临时替代方案。当然对小内存 VPS 来说,SWAP 也是一个不错的选择。在这篇文章中,大家将介绍如何在 Ubuntu 14.04 上划分 Swap 交换分区。
查看当前系统Swap信息
开始在 Ubuntu 14.04 中创建 Swap 分区之前,大家有必要首先看一下当前操作系统是否有可用的交换分区。默认情况下,Ubuntu 在进行系统安装时就会提醒用户划分 Swap 分区,一般情况下划分好之后也是不太会更改的。
大家可以使用如下命令来进行查看:
sudo swapon -s
当然,大家也可以使用最常用的 free 命令来查看当前系统是否存在 Swap 交换分区:
free -m
查看磁盘分区的空闲空间
划分交换文件最佳的方式就是将其放到一个单独的分区当中,当然,一旦无法单独为其划分的话也可以在已有的分区上创建新的交换文件。
但在创建新的 Swap 交换分区或创建交换文件之前,大家需要通过如下命令了解下当前系统对磁盘空间的使用情况:
df -h
确定好磁盘的空闲空间后,你已经可以根据你自己的实际情况来决定如何划分和创建 Swap 交换分区了。
一般情况下,创建 Swap 分区的大小都为当前系统使用的物理内存大小或内存大小的倍数。
创建Swap分区文件
要在 Ubuntu 14.04 中要创建 Swap 分区主要有如下 2 种方式:
传统创建方式
一般情况下,大家都会使用 dd 命令来预先创建交换分区文件,然后再用 /dev/zero 将该文件的内容全部置零,创建时还将用到 bs 参数来设置要创建的交换空间大小,以及使用 count 来指定要创建的 block 数。
例如,大家要创建 4G 的交换分区文件可以使用如下命令:
sudo dd if=/dev/zero of=/swapfile bs=1G count=4
快速创建方式
你可能已经注意到了,上述方式创建 Swap 交换文件的过程比较慢,一旦想快速创建交换分区可以使用 fallocate 程序来实现。该命令会立即创建一个预分配的交换文件,而产是按实际大小写入分配的大小。
一旦同样是要创建 4G 大小的交换创建文件,快捷创建方式的命令如下:
sudo fallocate -l 4G /swapfile
启用Swap分区文件
大家的 swapfile 交换文件已经创建好了,但 Ubuntu 14.04 还不知道它是被用作交换分区,所以大家还需要将此文件格式化为 Swap 分区交启用它。
首先,大家需要使用如下命令更改下 swapfile 文件的权限,以避免其被无意理性到:
sudo chmod 600 /swapfile
然后,大家需要用如下将 swapfile 初始化为交换文件:
sudo mkswap /swapfile
最后,还需要使用如下命令来启用交换文件:
sudo swapon /swapfile
配置启用时挂载Swap分区文件
Swap 交换文件虽然已经配置好并已经启用了,但 Ubuntu 14.04 在重启后是不会挂载大家刚创建的交换分区文件的,因此大家还需要对 /etc/fstab 文件进行更改,让其在系统启动时就自动挂载大家创建的 /swapfile 文件。
使用 vi 或 nano 在 /etc/fstab 文件底部添加如下内容:
/swapfile none swap sw 0 0