导读 | 用户可以在任何 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.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登录后复制
我可以看到新的交换分区 1GB 的 /dev/sda4。重启系统就可以使用新的交换分区了。
以上就是简单操作:在Linux中使用交换分区的详细内容,更多请关注慧达安全导航其它相关文章!
免责 声明
1、本网站名称:慧达安全导航
2、本站永久网址:https//www.huida178.com/
3、本站所有资源来源于网友投稿和高价购买,所有资源仅对编程人员及源代码爱好者开放下载做参考和研究及学习,本站不提供任何技术服务!
4、本站所有资源的属示图片和信息不代表本站的立场!本站只是储蓄平台及搬运
5、下载者禁止在服务器和虚拟机下进行搭建运营,本站所有资源不支持联网运行!只允许调试,参考和研究!!!!
6、未经原版权作者许可禁止用于任何商业环境,任何人不得擅作它用,下载者不得用于违反国家法律,否则发生的一切法律后果自行承担!
7、为尊重作者版权,请在下载24小时内删除!请购买原版授权作品,支持你喜欢的作者,谢谢!
8.若资源侵犯了您的合法权益,请持 您的版权证书和相关原作品信息来信通知我们!QQ:1247526623我们会及时删除,给您带来的不便,我们深表歉意!
9、如下载链接失效、广告或者压缩包问题请联系站长处理
10、如果你也有好源码或者教程,可以发布到网站,分享有金币奖励和额外收入!
11、本站资源售价只是赞助,收取费用仅维持本站的日常运营所需
12、因源码具有可复制性,一经赞助,不得以任何形式退款。
13、本文内容由网友自发贡献和站长收集,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系1247526623@qq.com
转载请注明出处: 慧达安全导航 » 简单操作:在Linux中使用交换分区
发表评论 取消回复