ubuntu下开机启动挂载SWAP

在运行大型程序或编译大型项目时,你是否觉得内存不够用或者干脆出现系统崩溃、进程被杀死等情况呢?既然内存已定,那如果加大交换分区就可以解决问题,如何操作呢?以下是比较简单的一个方法,步骤如下:
1.创建一个空文件。
输入:
sudo dd if=/dev/zero of=/swap/swapfile bs=1024count=2000000
输出:
记录了2560+0 的读入
记录了2560+0 的写出
2684354560字节(2.7 GB)已复制,30.1209 秒,89.1 MB/秒
注:dd 命令用于生成一个文件。if表示输入数据流;of表示输出数据流;bs表示一次读写多少数据;count表示共读写多少次。bs和count都可以使用数 据单位, 如:c=1, w=2, b=512, kB=1000, K=1024, MB=1000*1000, M=1024*1024, GB=1000*1000*1000, G=1024*1024*1024, 以 此类推,T, P, E, Z, Y也是同样的规则。

2.创建swap交换分区。

输入:
sudo mkswap -f  /swap/swapfile
输出:
Setting up swapspace version 1, size = 2621436 KiB
no label, UUID=335f8aa9-e5f5-419c-9f3e-e3278db4438f

激活 Swap 文件。

sudo swapon swap


3.修改/etc/fstab文件,使系统启动时自动加载此交换分区。
输入:
sudo gedit /etc/fstab
添加如下行:
/swap/swapfile  swap      swap    defaults   0       0

或者编辑 /etc/rc.local 文件(此文件有可能写入 swapon -a 导致重启后失效,即使/etc/fstab中写入挂载)

加入:swapon swapfile-path


4.重新启动系统,并查看交换分区的大小。
查看交换分区大小,至少有2种方法:
(方法1)
输入:
cat /proc/swaps
输出:
Filename                Type        Size    Used    Priority
/dev/sda9               partition    1464312    0        -1
/swap/swapfile         file        2621432    0        -2
(方法2)
依次选择菜单:系统->系统管理->系统监视器。在“资源”选项卡的“内存和交换历史”中有“交换”一项显示了总交换分区的大小。

注:
1.现在的Linux系统支持同时挂载32个交换分区,所以不必担心同时挂载2个交换分区会有问题。
2. 如果你想修改此swap文件的大小,可以使用sudo swapoff /media/swap.img卸载交换分区后,再进行修改。修改完毕后使用 sudo swapon /media/swap.img来重新挂载。注意,swapon和swapoff命令仅是临时的,如果/etc/fstab文件 中没有添加自动挂载的定义,则重启系统后,该交换分区自动被卸载。


你可能感兴趣的:(服务器配置,Linux)