【docker】gitlab尝试微调:增加swap分区

放弃!当系统出现内存不足时,开启 SWAP 可能会因频繁换页操作,导致 IO 性能下降。

尝试增加swap分区避免gitlab将内存耗尽

1. 有这么一个建议:

对于少于8GB的RAM:使用2或3倍的RAM量
对于超过8gb且小于64gb:使用1到1.5倍的RAM量
超过64gb:4gb的互换或完全没有交换。

2. 创建swap分区:

1、创建用于交换分区的文件:

dd if=/dev/zero of=/mnt/swap bs=block_size count=number_of_block

注:block_size、number_of_block 大小可以自定义,比如 bs=1M count=1024 代表设置 1G 大小 SWAP 分区

2、设置交换分区文件:

mkswap /mnt/swap

3、立即启用交换分区文件:

swapon /mnt/swap

注:如果在 /etc/rc.local 中有 swapoff -a 需要修改为 swapon -a

4、设置开机时自启用 SWAP 分区:
需要修改文件 /etc/fstab 中的 SWAP 行,添加

/mnt/swap swap swap defaults 0 0

注:/mnt/swap 路径可以修改,可以根据创建的 SWAP 文件具体路径来配置。

5、修改 swpapiness 参数
在 Linux 系统中,可以通过查看 /proc/sys/vm/swappiness 内容的值来确定系统对 SWAP 分区的使用原则。当 swappiness 内容的值为 0 时,表示最大限度地使用物理内存,物理内存使用完毕后,才会使用 SWAP 分区。当 swappiness 内容的值为 100 时,表示积极地使用 SWAP 分区,并且把内存中的数据及时地置换到 SWAP 分区。
查看修改前为 0,需要在物理内存使用完毕后才会使用 SWAP 分区,可以使用下述方法临时修改此参数,假设我们配置为空闲内存少于 10% 时才使用 SWAP 分区:

echo 10 >/proc/sys/vm/swappiness

若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,并增加以下内容:

# vim /etc/sysctl.conf
vm.swappiness=10
# sysctl -p

3. 关闭swap分区

当系统出现内存不足时,开启 SWAP 可能会因频繁换页操作,导致 IO 性能下降。如果要关闭 SWAP,可以采用如下方法。

1、free -m 查询 SWAP 分区设置

2、使用命令 swapoff 关闭 SWAP,比如:

swapoff /mnt/swap

3、修改 /etc/fstab 文件,删除或注释相关配置,取消 SWAP 的自动挂载

4、 通过 free -m 确认 SWAP 已经关闭。

5、 swappiness 参数调整:
可以使用下述方法临时修改此参数,这里配置为 0%:

echo 0 >/proc/sys/vm/swappiness

若需要永久修改此配置,在系统重启之后也生效的话,可以修改 /etc/sysctl.conf 文件,并增加以下内容:

# vim /etc/sysctl.conf
vm.swappiness=0
# sysctl -p

4. 问题

Centos 使用 mkswap 格式化文件时报错的处理方法
问题现象
使用 mkswap 创建 SWAP 时出现类似如下报错信息:

mkswap: error: swap area needs to be at least 40 KiB

问题原因
指定的 SWAP 文件太小,SWAP 文件至少应该大于 40KB。

解决方法
重新生成更大的文件格式化为 SWAP 即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值