美文网首页
三种在 Linux 上创建或扩展交换分区的简单方法

三种在 Linux 上创建或扩展交换分区的简单方法

作者: 逑熙 | 来源:发表于2017-07-16 21:11 被阅读42次

用户可以在任何 Linux 操作系统的安装过程中或者是其它必要的时候创建交换空间。如果你在安装 Linux 的时候忘记了创建或是你想要再增加交换分区的空间,你随时都可以再创建或增加。
有时候在你安装后摇升级 RAM 的时候需要增加一点交换分区的空间,比如你要将你的系统的 RAM 从 1GB 升级到 2GB 你,那么你就不得不将你的交换分区空间也升级一下(从 2GB 到 4GB),这是因为它使用的容量是物理 RAM 的双倍容量。(交换分区不一定非得是双倍的物理内存容量,只是惯例如此。事实上,如果你的物理内存足够的话,你完全可以不用交换分区——在这里的情形下,或许你增加了物理内存,就没必要增加交换分区大小了。)
交换空间是当物理内存(RAM 随机存取存储器)的用量已满时,被保留用作虚拟内存的磁盘上的空间。 如果系统在 RAM 满载时需要更多的内存资源,内存中的非活动页面将被移动到交换空间,这样可以帮助系统运行应用程序更多的时间,但不应该把它当做 RAM 的扩展。
建议你创建一个专用的交换分区,但是如果你没有可用的分区,那么可以使用交换文件,或交换分区和交换文件的组合。 交换空间通常建议用户至少 4 GB,用户也可以根据自己的要求和环境创建交换空间。
我发现大部分 VM 和 云服务器都没有交换分区,所以在这种情况下,我们可以使用以下三种方法创建,扩展或增加交换空间。

如何检测当前交换分区大小

通过free&swapon命令来检测当前的交换分区空间的大小。

$ free-h
total        used        free      shared  buff/cache  available
Mem:2.0G1.3G139M45M483M426M
Swap:2.0G655M1.4G
$swapon--show
NAME      TYPE      SIZE  USED PRIO
/dev/sda5 partition2G655.2M-1

上面的输出显示了当前的交换分区空间是 2GB。

方法 1 : 通过 fallocate 命令创建交换文件。

fallocate 程序是立即创建预分配大小的文件的最佳方法。
下面这个命令会创建一个 1GB 大小 的 /swapfile

$ sudo fallocate -l 1G /swapfile

检查一下创建的文件的大小是否正确。

$ ls -lh /swapfile

-rw-r--r-- 1 root root 1.0G Jun 7 09:49 /swapfile

将该文件的权限设置为 600
这样只有 root 用户可以访问这个文件。

$ sudo chmod 600 /swapfile

通过运行以下的命令来将此文件转换为交换文件。

$ sudo mkswap /swapfile

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)

no label, UUID=cda50e0e-41f3-49c7-af61-b8cb4a33a464

通过运行以下的命令来使交换文件生效。

$ sudo swapon /swapfile

将新创建的交换文件添加到 fstab文件中,这样交换分区空间的修改即使在重启后也可以生效。

$ vi /etc/fstab

/swapfile swap swap defaults 0 0

检查一下新创建的交换文件。

$ swapon --show

NAME TYPE SIZE USED PRIO

/dev/sda5 partition 2G 657.8M -1

/swapfile file 1024M 0B -2

现在我可以看到一个新的 1GB 的 /swapfile1 文件了。重启系统以使新的交换文件生效。

方法 2 : 通过 dd 命令来创建交换文件

dd命令是另一个实用程序,可以帮助我们立即创建预分配大小的文件。
以下 dd 命令将创建 1GB 的 /swapfile1。

$ sudo dd if=/dev/zero of=/swapfile1 bs=1G count=1

1+0 records in

1+0 records out

1073741824 bytes (1.1 GB, 1.0 GiB) copied, 16.6154 s, 64.6 MB/s

详解:
if=/dev/zero是输入文件,/dev/zero 是类 Unix 操作系统中的一个特殊文件,它提供从它读取的尽可能多的空字符(ASCII NUL,0x00)。
of=/swapfile1 设置输出文件。
bs=1G 一次性读写的大小为 1GB
count=1 仅复制一个输入块

检查一下创建的文件的大小是否正确。

$ ls -lh /swapfile1

-rw-r--r-- 1 root root 1.0G Jun 7 09:58 /swapfile1

将该文件的权限设置为 600
这样只有 root 用户可以访问这个文件。

$ sudo chmod 600 /swapfile1

通过运行以下的命令来将此文件转换为交换文件。

$ sudo mkswap /swapfile1

Setting up swapspace version 1, size = 1024 MiB (1073737728 bytes)

no label, UUID=96def6d7-b2da-4954-aa72-aa32316ec993

通过运行以下的命令来使交换文件生效。

$ sudo swapon /swapfile1

将新创建的交换文件添加到 fstab文件中,这样交换分区空间的修改即使在重启后也可以生效。

$ vi /etc/fstab

/swapfile1 swap swap defaults 0 0

检查新创建的交换文件。

$ swapon --show

NAME TYPE SIZE USED PRIO

/dev/sda5 partition 2G 1.3G -1

/swapfile file 1024M 0B -2

/swapfile1 file 1024M 0B -3

现在我可以看到一个新的 1GB 的 /swapfile1了。重启系统以使新的交换文件生效。

方法 3 : 通过硬盘分区来创建交换文件

我们也推荐使用通过硬盘分区的方式来创建交换分区。
如果你已经在你的另一个硬盘上通过 fdisk命令创建了一个新的分区,假设我们已经创建了一个叫做/dev/sda4 的分区。
使用 mkswap 命令来将这个分区转换成交换分区。

$ sudo mkswap /dev/sda4

通过运行以下命令来使交换文件生效。

$ sudo swapon /dev/sda4

把新增的交换文件添加到 fstab文件中,这样即使是重启了系统交换分区的修改也能生效。

$ vi /etc/fstab

/dev/sda4 swap swap defaults 0 0

检查新创建的交换文件。

$ swapon --show

NAME TYPE SIZE USED PRIO

/dev/sda5 partition 2G 1.3G -1

/swapfile file 1024M 0B -2

/swapfile1 file 1024M 0B -3

/dev/sda4 partition 1G 0B -4

我可以看到新的交换分区 1GB 的 /dev/sda4。重启系统就可以使用新的交换分区了。

相关文章

  • 三种在 Linux 上创建或扩展交换分区的简单方法

    用户可以在任何 Linux 操作系统的安装过程中或者是其它必要的时候创建交换空间。如果你在安装 Linux 的时候...

  • 磁盘分区

    磁盘分区:linux磁盘分区主要分为三种:主磁盘分区、扩展磁盘分区、逻辑分区主分区:至少一个、最多4个,且主分区+...

  • centos swap 创建、删除、扩容

    创建swap分区 1.添加swap交换分区空间 使用dd命令创建swap交换分区文件/dev/mapper/swa...

  • Oracle分区

    分区 Oracle数据库提供对表或索引的分区方法有三种: 范围分区 多个字段 Hash分区(散列分区)在列的取值难...

  • Linux磁盘分区和挂载点

    在Linux系统中最多只有16个分区。Linux 规定了主分区(或者扩展分区)占用 1 至 16 号码中的前 4 ...

  • Linux 磁盘分区挂载

    1. 分区类型 linux 下有主分区、扩展分区、逻辑分区。主分区最多有4个,扩展分区最多只能有一个。但是主分区+...

  • linux必备命令

    1.linux分区必须有根分区/和swap交换分区 2.linux各个分区文件的存储状态 / 根目录 /bin 存...

  • Linux练习

    按下( )键能终止当前运行的命令 在下列分区中,Linux默认的分区是( ) 在创建Linux...

  • 如何在 Linux 上创建和使用交换文件

    本教程讨论了 Linux 中交换文件的概念,为什么使用它以及它相对于传统交换分区的优势。你将学习如何创建交换文件和...

  • day18-磁盘管理(1)

    添加磁盘在虚拟机中添加一个1T和4T的磁盘 创建分区通过fdisk创建主分区 创建扩展分区 创建逻辑分区 保存分区...

网友评论

      本文标题:三种在 Linux 上创建或扩展交换分区的简单方法

      本文链接:https://www.haomeiwen.com/subject/uvjxkxtx.html