Linux中怎么创建或扩展交换分区,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
如何检测当前交换分区大小
通过 free & swapon 命令来检测当前的交换分区空间的大小。
$ free -h total used free shared buff/cache available Mem: 2.0G 1.3G 139M 45M 483M 426M Swap: 2.0G 655M 1.4G $ swapon --show NAME TYPE SIZE USED PRIO /dev/sda5 partition 2G 655.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
关于Linux中怎么创建或扩展交换分区问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。