首页 > Script > Centos 7 用swap分区做内存
2023
11-01

Centos 7 用swap分区做内存

使用背景:购买了阿里云ECS,但业务使用内存达90%以上,但对内存性能没太多性能要求的情况下,使用ECS的SSD磁盘来做swap当内存使用。

实现方法:将部分SSD磁盘做swap交换分区,并通过脚本自动检测内存使用率大于等于70%时,使用swap分区,低于70%时,禁用swap交换分区,使用内存。

优点:低成本,提高内存容量,SSD磁盘做swap分区较普通磁盘快,满足资源使用要求。

缺点:没有内存性能高,业务对性能有要求时可能满足不了。

以下是具体的代码:

#!/bin/bash

# 检查是否具有 root 权限
if [[ $EUID -ne 0 ]]; then
echo “请以 root 权限运行此脚本”
exit 1
fi

# 禁用交换
swapoff -a

# 将 swappiness 设置为较低的值(通常建议为 10)
sysctl vm.swappiness=10

# 更新 sysctl 配置
echo “vm.swappiness = 10” >> /etc/sysctl.conf

# 创建一个 swap 文件(如果需要)
# 这将创建一个 4GB 大小的交换文件
# 如果您需要更大的交换空间,请相应地更改 count 的值
fallocate -l 4G /swapfile

# 设置文件权限
chmod 600 /swapfile

# 设置交换文件
mkswap /swapfile

# 启用交换文件
swapon /swapfile

# 永久启用交换文件
echo “/swapfile none swap sw 0 0” >> /etc/fstab

# 重启系统以使更改生效
reboot

下图是使用时的状态:

Centos 7 用swap分区做内存 - 第1张  | 运维手册

最后编辑:
作者:李国庆
这个作者貌似有点懒,什么都没有留下。
捐 赠如果您觉得这篇文章有用处,请支持作者!鼓励作者写出更好更多的文章!

留下一个回复

你的email不会被公开。