安装 14.04 LTS 后,我需要帮助创建交换

安装 14.04 LTS 后,我需要帮助创建交换

我安装了 Ubuntu,但在安装过程中忘记创建交换区...所以我从系统分区中切掉了 4GiB,我不知道下一步该怎么做?我可以重新启动 Ubuntu,一切都很好,但是当我运行:

sudo blkid

或者

sudo parted -l

或者

sudo fdisk -l

它没有出现在任何地方...例如这个输出:

ubuntu@ubuntu:~$ sudo parted -l
Model: ATA Hitachi HDP72503 (scsi)
Disk /dev/sda: 320GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number  Start   End     Size    Type      File system  Flags
1      32,3kB  47,5GB  47,5GB  primary   ext4         boot
3     47,5GB  51,5GB  3999MB  primary   linux-swap(v1)
2      51,5GB  320GB   269GB   extended
5      51,5GB  320GB   269GB   logical   ntfs


Warning: Unable to open /dev/sr0 read-write (Read-only file system).
/dev/sr0 has been opened read-only.
Error: Can't have a partition outside the disk! 

我用的是这个话题但还是不明白。

其他输出:

ubuntu@ubuntu:~$ sudo fdisk -l

Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders, total 625142448 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x27252724

/dev/sda1   *          63    92851625    46425781+  83  Linux
/dev/sda2       100663357   625137344   262236994    5  Расширенный
/dev/sda3        92852224   100663295     3905536   82  Linux своп / Solaris
/dev/sda5       100663359   625137344   262236993    7  HPFS/NTFS/exFAT

和:

ubuntu@ubuntu:~$ sudo blkid
/dev/sda1: UUID="98b0cee6-3b81-4e39-bb43-4847e297b7ff" TYPE="ext4" 
/dev/sda3: UUID="807aba97-139f-4170-9bbf-5b58def95125" TYPE="swap" 
/dev/sda5: UUID="2644E68F76515A43" TYPE="ntfs"

和:

free -l
         total       used       free     shared    buffers     cached
memory:    2063796    1238992     824804       8024      78256     535504
Low:        880428     576176     304252
High:      1183368     662816     520552
-/+ buffer/cache:     625232    1438564
Swap:            0          0          0

答案1

首先,最后检查一下以确保您确实没有交换:

sudo swapon -s

这应该会列出所有可用的交换文件。如果没有列出,则需要创建一个。以下命令将创建一个 4gb 交换,大致规则是交换的大小应与机器的 RAM 大小相同:

sudo fallocate -l 4G /swapfile

(如果您有 8GB RAM 等,显然请用 8G 替换 4G!)

使用以下命令验证交换大小是否正确:

ls -lh /swapfile

接下来设置交换文件的权限,使它只能由 root 访问:

sudo chmod 600 /swapfile

接下来使用以下命令设置交换文件:

sudo mkswap /swapfile

最后使用以下命令启用交换:

sudo swapon /swapfile

您可以通过输入以下命令来检查交换是否正在使用:

sudo swapon -s

恭喜,您现在应该有交换了。接下来您可能需要...

使交换在启动时自动加载:

sudo nano /etc/fstab

然后在文件底部添加以下行:

/swapfile   none    swap    sw    0   0

如需更多信息(例如优化交换),本文有很好的概述。

答案2

许多操作系统允许动态页面文件选项,这些文件可根据需要增大或缩小。我认为大多数 Linux(包括 ubuntu)默认不允许此选项。

我使用出色的程序 swapspace 来管理动态页面文件,更多信息可从此处获取:http://pqxx.org/development/swapspace/我通常发现这是在 ubuntu 上管理交换的最简单的方法。

相关内容