安装 Ubuntu 14.04 LTS 后分配交换空间

安装 Ubuntu 14.04 LTS 后分配交换空间

大约一个月前我安装了 Ubuntu 14.04 LTS,我双启动了 Ubuntu 14.04 LTS 和 Windows 8.1。

我在安装时没有创建任何交换空间,但现在我真的需要为 Ubunutu 添加它。我尝试使用检查是否有任何分配的交换空间,sudo swapon -s但得到了如下所示的空标头:

ahsan@ahsan-Inspiron-N5110:~$ sudo swapon -s
Filename                Type        Size    Used    Priority

然后我尝试分配一些交换空间dd of=output.dat bs=1 seek=390143672 count=0,输出为:

0+0 records in
0+0 records out
0 bytes (0 B) copied, 0.000170607 s, 0.0 kB/s

我也尝试了该命令sudo dd if=/dev/zero of=/swapfile bs=1G count=4,输出是:

dd: memory exhausted by input buffer of size 1073741824 bytes (1.0 GiB)

然后我尝试了一下sudo fallocate -l 4G /swapfile,但输出是:

fallocate: /swapfile: fallocate failed: Operation not supported

我还检查了我的硬盘,以下是我的硬盘结构:

ahsan@ahsan-Inspiron-N5110:~$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda2        99G   18G   77G  19% /
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            1.4G  4.0K  1.4G   1% /dev
tmpfs           286M  1.2M  284M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.4G   24M  1.4G   2% /run/shm
none            100M   56K  100M   1% /run/user

输出为free -m

ahsan@ahsan-Inspiron-N5110:~$ free -m
             total       used       free     shared    buffers     cached
Mem:          2850       2665        184        421         25        846
-/+ buffers/cache:       1794       1055
Swap:            0          0          0

请告诉我如何在不影响我的任何数据的情况下添加交换。我已经安装了 64 位 Ubuntu LTS,并拥有 3GB 的 RAM 和 500GB 的硬盘。

我去过询问 Ubuntu 问题并且我尝试了命令并且输出是:

ahsan@ahsan-Inspiron-N5110:~$ sudo dd if=/dev/zero of=/swapspace bs=1G count=4
4+0 records in
4+0 records out
4294967296 bytes (4.3 GB) copied, 47.1951 s, 91.0 MB/s
ahsan@ahsan-Inspiron-N5110:~$ sudo dd if=/dev/zero of=/swapspace bs=1G count=4sudo mkswap /swapspace
dd: invalid number ‘4sudo’
ahsan@ahsan-Inspiron-N5110:~$ 

答案1

首先,创建 4,000 MB 的交换空间:

$ sudo dd if=/dev/zero of=/swapspace bs=1M count=4000
4000+0 records in
4000+0 records out
4194304000 bytes (4.2 GB) copied, 5.92647 s, 708 MB/s

或者

$ sudo fallocate -l 4000M /swapspace 

接下来将其变成可用的交换文件:

$ sudo mkswap /swapspace
Setting up swapspace version 1, size = 4095996 KiB
no label, UUID=7d1895e4-7ccf-42c6-979a-51ebddb49e91

激活它:

$ sudo swapon /swapspace 

确认活动的交换空间:

$ cat /proc/swaps
Filename                Type        Size    Used    Priority
/swapspace              file        4095996 0       -1

接下来,将以下行添加到 /etc/fstab 以在启动时激活新的交换:

/swapspace none swap defaults 0 0

另请参阅此维基页面:https://help.ubuntu.com/community/SwapFaq

答案2

间接地回答你的问题,你不需要自己管理交换文件。有一个名为 swapspace 的软件包可以根据需要动态添加交换文件。

  1. sudo apt-get 安装交换空间

然后你就大功告成了。你的系统将根据需要增加或缩小交换空间。

答案3

按着这些次序:

  1. sudo dd if=/dev/zero of=/mnt/{filename}.swap bs=1M count={swap_size}
  2. sudo mkswap /mnt/{filename}.swap
  3. sudo swapon /mnt/{filename}.swap
  4. sudo gedit /etc/fstab
  5. 在文件末尾添加以下文本,/mnt/{filename}.swap none swap sw 0 0

注意:将 {filename} 替换为您想要为文件设置的任何名称,并将 {swap_size} 替换为您想要分配给交换文件的大小。确保文件的大小必须比内存大小大两倍。

相关内容