1.首先用命令free查看系统内 Swap 分区大小。
free -m
total used free shared buffers cached
Mem: 2012 1960 51 0 748 950
-/+ buffers/cache: 260 1751
Swap: 255 0 255
可以看到 Swap 只有255M,下面我们来扩大到2G。
2.创建一个 Swap 文件。[建议:如果编译源码的同学,count=?最好设置的超过6G]
mkdir /swapfile
cd /swapfile
sudo dd if=/dev/zero of=swap bs=1024 count=2000000
出现下列提示,上面命令中的 count 即代表swap文件大小。
记录了2000000+0 的读入
记录了2000000+0 的写出
2048000000字节(2.0 GB)已复制,63.3147 秒,32.3 MB/秒
把生成的文件转换成 Swap 文件
sudo mkswap -f swap
Setting up swapspace version 1, size = 1999996 KiB
no label, UUID=fee9ab21-9efb-47c9-80f4-57e48142dd69
把生成的swap 文件加入到系统中
sudo swapon swap
再次查看 free -m 的结果。
total used free shared buffers cached
Mem: 2012 1971 41 0 572 1156
-/+ buffers/cache: 241 1770
Swap: 2209 0 2209
添加成功。【好像重启的时候需要重新 sudo swapon swap一下】
[这个扩展我没试过]
扩展:
如果需要卸载这个 swap 文件,可以进入建立的 swap 文件目录。执行下列命令。
sudo swapoff swap
如果需要一直保持这个 swap ,可以把它写入 /etc/fstab 文件。
/swapfile/swapfile none swap defaults 0 0
==================================================================
我遇到的问题如下,并且成功解决。
前因:利用动态分区软件将Ubuntu的分区重新划分。增加了/ 以及 /home , swap 的容量。重新进入 Ubuntu,swap分区丢失,无法进行休眠等操作。
解决:sudo mkswap /dev/sdaX #X是swap分区的编号(部分电脑可能是 hdaX)
记录下 UUID
编辑 /etc/fstab,将 swap 段的 UUID 更改为新的UUID,重启。