如何将交换分区附加到 Linux?
Linux 操作系统中的虚拟内存是 RAM + 交换空间。当系统的内存使用量超过某个点时使用它,然后使用交换空间,所有空闲进程都转移到交换空间,并将新进程分配给 RAM。现在如何分配交换空间理想的交换空间应该是 RAM 大小的两倍,例如如果 RAM 是 64KB,那么交换应该是 128KB。当 RAM 大小较小时就是这种情况。对于最新的计算机,我们知道最小 RAM 为 2GB,因此由于性能问题,交换空间小于 RAM 的两倍
根据 fedora 或 Cent OS 交换空间文档Amount of system RAM Recommended Swap space 2GB or less Twice the RAM Between 2GB to 8GB Same as RAM Between 8GB to 64GB 0.5 times the RAM More than 64GB Workload dependent
我们将看到一个如何管理交换空间的示例。我正在使用 vagrant 和 virtual box 并使用 centos7 映像而不是适当的 Linux 操作系统。 (但你应该使用 Linux 机器而不是 VM,因为它们没有正确的分区表)
第 1 步:在您的机器中打开一个终端,然后键入以下命令开始
lsblk (Used lsblk to show all my block devices attached on the machine)
第 2 步:我们将创建一个 150 MB 交换的新分区来演示。使用 sudo su 在终端中以 root 用户身份登录到您的系统
fdisk -l (Check the memory using fdisk -l to check the existing partition)
第 3 步:首先使用 fdisk 命令创建一个新空间
fdisk /dev/
# You will be pushed to interactive mode
press n (Type n to create new space partition)
选择分区大小
第一个扇区:按回车(选择默认值)
最后一个扇区:+150M(在150MB的情况下选择空间大小)
第 4 步:选择我们要创建的分区类型
按 t
指定您想要作为交换的分区号
按回车键(选择默认值)
按 82(82 是 linux 交换分区类型,你也可以输入 L 来查看所有代码)
按 w(键入 w 将新分区写入磁盘)
步骤 5:之后,您将退出 fdisk 交互用户模式将返回终端
键入 partprobe(重新读取分区表并避免重新启动)
mkswap /dev/sdaX (can be sda1 or sda2) (Define new partition created as swap partition to memory)
swapon /dev/sdaX (can be sda1 or sda2) (makes new swap partition online)
第 6 步:有必要编辑/etc/fstab文件,以便即使在重新启动后更改仍然存在并保持永久性
Vim /etc/fstab (I have used vim editor but you can use any editor for this according to your choice)
在文件底部添加一行
/dev/sdaX swap 交换默认值 0 0
并退出并保存您的更改
(其中 X 是您的分区号)
重新启动您的设备并打开终端
free -m (Use free -m to check the new swap partition)
恭喜您在设备上创建了新的交换分区