最近买了阿里云的乞丐版ECS,内存只有1个G,用来勉强跑GitLab,根本跑不起来,所以只能增加swap空间,来变相提高内存了,记录操作过程。
一.查看SWAP空间的几种方法
free -m
cat /proc/meminfo | grep -i swap
fdisk -l
swap -s
二.添加SWAP空间的方法
- 使用分区文件增加SWAP
- 使用分区空间增加SWAP
(Redhat5官方推荐)
RAM | SWAP |
---|---|
RAM<=4G | 2G |
4G<RAM<16G | 4G |
16G<RAM<64G | 8G |
64G<RAM<256G | 16G |
(Redhat6/7官方推荐)
RAM | SWAP |
---|---|
RAM<=2G | 2*RAM |
2G<RAM<8G | RAM |
8GRAM<64G | >=4G |
RAM>=64G | >=4G |
二.使用分区文件增加SWAP
本方法操作起来比较简单,不用单独划分分区来做swap,只需要使用分区文件就可以达到增加swap空间大小的效果
- 创建swap文件
fallocate -l 2G /etc/swap #指定文件为2G
- 设置文件权限,只允许root用户操作
chmod 600 /etc/swap
- 检查文件大小与权限是否正确
ls -lh /etc/swap
- 设置该文件为swap文件
mkswap /etc/swap
- 启用swap文件
swapon /etc/swap
- 使swap文件永久生效
vim /etc/fstab
末尾添加:
/etc/swap swap swap defaults 0 0
- 更改swap配置
vim /etc/sysctl.conf
有则修改,无则添加:(按需修改数值)
vm.swappiness=30 #值越大表示越倾向于使用swap空间
- 重启生效
init 6
- 使用开头提到的方法查看下结果
三.使用分区空间增加SWAP
本方法需要划分指定的分区来做swap
- 创建分区 并设置为swap格式
fdisk /dev/sdb
n //创建分区
p //创建主分区
1 //创建分区1
两次回车 //起始扇区和Last扇区选择默认
t //转换分区格式
82 //转换为swap空间
p //查看已创建的分区结果
w //保存退出
- 格式化为swap空间
mkswap /dev/sdb1
- 启用swap
swapon /dev/sdb1
- 编辑配置文件 设为开机自动挂载
vim /etc/fstab
添加以下内容 保存并退出
/dev/sdb1 swap swap defaults 0 0
- 设置自动启用所有swap空间
swapon -a
- 重启验证
init 6