linux7 swap,CentOS7 上配置 Swap 交换空间

CentOS7 上配置 Swap 交换空间

前言

swap 通常在传统机械硬盘上表现更好, 在 SSD 上使用 swap 可能会造成问题, 尤其是硬件老化之后. 所以, 对于 DigitalOcean 以及其他使用基于 SSD 的云主机服务的用户, 我们不推荐启用 swap. 这甚至会影响到跟你的虚拟机共用宿主机的其他用户.

对于 DigitalOcean 用户, 提升性能的最佳方法就是更新 Droplet. 通常来说, 升级后的主机表现都会有所提升, 并且更不容易受到硬件问题的影响.

配置 Swap

检查系统的 Swap 信息, 查看是否已经配置过 swap. 一个系统可以设置多个 swap, 不过一般来说一个就够了.

执行 swapon -s, 如果该命令没有返回出结果, 则代表该系统尚未配置过 swap.

或者, 我们也可以使用 free -m 来查看系统的整体内存使用情况, 这里可以看到内存和 swap 的使用状态(显示单位为 MB):

这里可以看到我们这个系统的 total swap 空间为 0, 即没有配置过 swap. 这与我们在 swapon 里看到的结果相符合.free-m

total used free shared buffers cached

Mem:39533153637811107

-/+ buffers/cache:1963756

Swap:004095

检查可用的存储空间. 通常, 我们建立一个单独的分区作为 swap. 然而有时候由于硬件或软件的限制, 新建分区的方式无法实现, 这种情况下就可以建立一个 swap 文件来实现同样的功能.df-h

FilesystemSizeUsedAvailUse%Mountedon

/dev/vda159G1.5G55G3%/

devtmpfs2.0G02.0G0%/dev

tmpfs2.0G02.0G0%/dev/shm

tmpfs2.0G8.3M2.0G1%/run

tmpfs2.0G02.0G0%/sys/fs/cgroup

创建 Swap 文件

合适的 swap 空间是多大? 一般来说, 内存容量的两倍就是个不错的起点.

接下来我们要在根目录下创建一个名叫 swapfile 的文件, 当然你也可以选择你喜欢的文件名. 该文件分配的空间将等于我们需要的 swap 空间.

最快捷的创建方式是 fallocate 命令, 该命令能够创建一个预分配指定大小空间的文件. 输入如下指令创建一个 4GB 的文件:

sudo fallocate -l 4G /swapfile

该 swap 文件将立即创建完毕. 我们可以用 ls 命令检查文件大小: ls -lh /swapfile

至此, 我们的 swap 文件就创建完毕了.

启用 Swap 文件

现在我们已经有了 swap 文件, 但系统还不知道应该使用该文件作为 swap, 这就需要我们告知系统将该文件格式化为 swap 并启用起来.

首先我们需要更改 swap 文件的权限, 确保只有 root 才可读, 否则会有很大的安全隐患. 使用 chmod 命令进行权限操作:

sudo chmod 600 /swapfile

如此, 该文件的读写都只有 root 才能操作. 使用 ls -lh 命令检查一下:ls-lh/swapfile

-rw-------1root root4.0GOct3011:00/swapfile

然后, 使用如下命令告知系统将该文件用于 swap:sudo mkswap /swapfile

现在, 这个 swap 文件就可以作为 swap 空间使用了. 输入如下命令开始使用该 swap:sudo swapon /swapfile

我们可以输入如下命令来确认一下设置是否已经生效:swapon-s

FilenameTypeSizeUsedPriority

/swapfile file41943000-1

可以看到返回的结果中已经有我们刚才设置的 swap. 再使用 free 工具确认一下:free-m

total used free shared buffers cached

Mem:39533153637811107

-/+ buffers/cache:1963756

Swap:409504095

至此, 我们的 swap 已经设置完毕, 操作系统会在需要的时候使用它.

使 Swap 文件永久生效

至此我们已经在系统中启用了 swap 文件, 然而一旦系统重启后, 服务器还不能自动启用该文件. 要让系统在重启后自动生效 swap, 我们可以通过修改 fstab 文件来实现(这是一个管理文件系统和分区的表).

来源: https://www.qcloud.com/developer/article/1348110

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值