《LINUX入门:三种在 Linux 上创建或扩展交换分区的简单方法》要点:
本文介绍了LINUX入门:三种在 Linux 上创建或扩展交换分区的简单方法,希望对您有用。如果有疑问,可以联系我们。
用户可以在任何 Linux 操作系统的安装过程中或者是其它需要的时候创建交换空间.如果你在安装 Linux 的时候忘记了创建或是你想要再增加交换分区的空间,你随时都可以再创建或增加.
有时候在你安装后摇升级 RAM 的时候需要增加一点交换分区的空间,好比你要将你的系统的 RAM 从 1GB 升级到 2GB 你,那么你就不得不将你的交换分区空间也升级一下(从 2GB 到 4GB),这是因为它使用的容量是物理 RAM 的双倍容量.(LCTT 译注:其实这里是个误区,交换分区不一定非得是双倍的物理内存容量,只是惯例如此.事实上,如果你的物理内存足够的话,你完全可以不用交换分区——在这里的情形下,或许你增加了物理内存,就没必要增加交换分区大小了.)
交换空间是当物理内存(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 partition 2G655.2M-1
上面的输出显示了当前的互换分区空间是 2GB
.
fallocate
程序是立即创建预分配大小的文件的最佳办法.
下面这个命令会创立一个 1GB 大小 的 /swapfile
.
$ sudo fallocate -l 1G/swapfile
检查一下创立的文件的大小是否正确.
将该文件的权限设置为 600
这样只有 root 用户可以拜访这个文件.
$ sudochmod600/swapfile
通过运行以下的命令来将此文件转换为互换文件.
$ sudomkswap/swapfile
Setting up swapspace version 1,size=1024MiB(1073737728 bytes)
no label, UUID=cda50e0e-41f3-49c7-af61-b8cb4a33a464
通过运行以下的命令来使互换文件生效.
$ sudoswapon/swapfile
将新创立的交换文件添加到 fstab
文件中,这样交换分区空间的修改即使在重启后也可以生效.
$ vi/etc/fstab
/swapfile swap swap defaults 00
检查一下新创立的交换文件.
$ swapon--show
NAME TYPE SIZE USED PRIO
/dev/sda5 partition 2G657.8M-1
/swapfile file1024M0B-2
现在我可以看到一个新的 1GB 的 /swapfile1
文件了.重启系统以使新的互换文件生效.
dd
命令是另一个实用程序,可以帮助我们立即创建预分配大小的文件.
以下 dd 命令将创立 1GB 的 /swapfile1
.
$ sudoddif=/dev/zero of=/swapfile1 bs=1G count=1
1+0 records in
1+0 records out
1073741824 bytes (1.1 GB,1.0GiB) copied,16.6154 s,64.6 MB/s
详解:
if=/dev/zero
是输入文件,/dev/zero
是类 Unix 操作系统中的一个特殊文件,它提供从它读取的尽可能多的空字符(ASCII NUL,0x00).of=/swapfile1
设置输出文件.bs=1G
一次性读写的大小为 1GBcount=1
仅复制一个输入块检查一下创立的文件的大小是否正确.
$ ls-lh /swapfile1
-rw-r--r--1 root root 1.0GJun709:58/swapfile1
将该文件的权限设置为 600
这样只有 root 用户可以拜访这个文件.
$ sudochmod600/swapfile1
通过运行以下的命令来将此文件转换为互换文件.
$ sudomkswap/swapfile1
Setting up swapspace version 1,size=1024MiB(1073737728 bytes)
no label, UUID=96def6d7-b2da-4954-aa72-aa32316ec993
通过运行以下的命令来使互换文件生效.
$ sudoswapon/swapfile1
将新创立的交换文件添加到 fstab
文件中,这样交换分区空间的修改即使在重启后也可以生效.
$ vi/etc/fstab
/swapfile1 swap swap defaults 00
检查新创立的交换文件.
$ swapon--show
NAME TYPE SIZE USED PRIO
/dev/sda5 partition 2G1.3G-1
/swapfile file1024M0B-2
/swapfile1 file1024M0B-3
现在我可以看到一个新的 1GB 的 /swapfile1
了.重启系统以使新的互换文件生效.
我们也推荐使用通过硬盘分区的方式来创建交换分区.
如果你已经在你的另一个硬盘上通过 fdisk
命令创立了一个新的分区,假设我们已经创立了一个叫做 /dev/sda4
的分区.
使用 mkswap
命令来将这个分区转换成互换分区.
$ sudomkswap/dev/sda4
通过运行以下命令来使互换文件生效.
$ sudoswapon/dev/sda4
把新增的交换文件添加到 fstab
文件中,这样即使是重启了系统交换分区的改动也能生效.
$ vi/etc/fstab
/dev/sda4 swap swap defaults 00
检查新创立的交换文件.
$ swapon--show
NAME TYPE SIZE USED PRIO
/dev/sda5 partition 2G1.3G-1
/swapfile file1024M0B-2
/swapfile1 file1024M0B-3
/dev/sda4 partition 1G0B-4
我可以看到新的互换分区 1GB 的 /dev/sda4
.重启系统就可以使用新的互换分区了.
(题图:Pixabay,CC0)
via: http://www.2daygeek.com/add-extend-increase-swap-space-memory-file-partition-linux/
作者:2DAYGEEK 译者:chenxinlong 校对:wxy
本文由 LCTT 原创编译,Linux中国 荣誉推出
本文永远更新链接地址:
维易PHP培训学院每天发布《LINUX入门:三种在 Linux 上创建或扩展交换分区的简单方法》等实战技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培养人才。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/9782.html