[Linux]创建和启用Swap交换区

本文介绍如何通过创建swap交换区来缓解VPS服务器内存不足的问题,包括创建swap交换区的原则、步骤及注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载:https://www.cnblogs.com/zsummer/p/4808422.html


如果你的服务器的总是报告内存不足,并且时常因为内存不足而引发服务被强制kill的话,在不增加物理内存的情况下,启用swap交换区作为虚拟内存是一个不错的选择,我购买的DigitalOcean VPS 512M内存基本不够用的,好在VPS的母鸡使用的SSD,正常读写速度都在300MB/s以上,启用swap后性能提高了不少,特别是在处理消耗大内存的脚本方面

创建交换区原则:
1.创建的swap交换区大小应该大于实际物理内存的容量大小,但是不要过大,以免造成硬盘空间浪费。
2.如果内存IO请求频繁,而单一swap交换区IO队列等待时间过长的话,可以多创建几个swap交换区。
3.原则上优先在IO速度最快的设备上创建。

创建步骤:
1.创建swap交换区硬盘存储用的空白文件。

1
2
#创建一个1个G的SWAP交换区空白文件
dd if=/dev/zero of=/swap bs=1M count=1024

通常创建物理内存2~2.5倍大小的文件作为交换区。

2.使用mkswap格式化文件为swap文件系统

1
2
mkswap -f /swap
#-f 使用文件作为swap交换区

3.启用刚才创建的Swap文件

1
swapon /swap

4.如果有必要可以设置开机自动启用swap文件交换区,修改/etc/fstab,增加一行

1
/swap swap swap defaults 0 0 #启动即启用swap

5.如果不需要启用swap或需要调整swap大小,可以使用swapoff命令关闭swap。

1
swapoff /swap

关闭swap后删除对应的swap文件即可删除swap交换区,如需要调整swap交换区大小,从第一部开始重新创建即可。


### 如何在 Linux 系统中增加或扩展 Swap 交换 #### 创建新的 Swap 文件 为了创建一个新的 Swap 文件并设置其大小,在终端执行以下命令。这里以创建一个2GB的 Swap 文件为例: ```bash sudo dd if=/dev/zero of=/home/swap bs=1024 count=2048000 ``` 此操作会生成一个位于 `/home` 目录下的名为 `swap` 的文件,该文件即为新的 Swap[^1]。 #### 格式化 Swap 文件 一旦创建Swap 文件之后,需要将其格式化为 Swap 类型以便操作系统能够识别它作为额外的虚拟内存空间: ```bash sudo mkswap /home/swap ``` 这一步骤确保了所创建的文件能被正确地当作 Swap 使用[^2]。 #### 启用Swap 文件 完成上述两步后,通过下面这条指令来激活这个新的 Swap 文件使其立即生效: ```bash sudo swapon /home/swap ``` 此时,系统已经启用了这块新增加的空间作为临时存储域的一部分。 #### 设置开机自启动 为了让机器重启后仍然保留这些更改而不必每次都手动加载 Swap 文件,编辑系统的挂载表配置文件 `/etc/fstab` 并添加一行记录指向新建好的 Swap 设备路径及其参数: ```text /home/swap none swap sw 0 0 ``` 保存修改后的文件即可实现永久性的变更。 #### 验证 Swap 增加效果 最后可以通过运行 `free -m` 或者 `swapon --show` 来确认当前可用的总 Swap 容量是否已按预期增长[^3]。 ```bash free -m ``` 或者 ```bash swapon --show ``` 以上就是完整的流程说明,按照这样的方式可以在不改变现有硬件的情况下有效地提升服务器性能表现。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值