我安装了 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 上管理交换的最简单的方法。