在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内存和500GB硬盘。

我去过这个 Ask 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:~$ 

首先,创建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 

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

跟着这些步骤:

  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}替换为要分配给交换文件的大小。 确保文件大小必须比内存大小大两倍。

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

  1. sudo apt-get install swapspace

然后你就完成了。 您的系统将根据需要增长和缩小交换空间。