GitLab占用内存过大的问题

  1. GitLab占用内存过大的问题
  2. GitLab 开放权限
  3. 启用Swap

GitLab占用内存过大的问题

个人用的阿里云ECS内存太小,GitLab要求的内存配置比较高,所以改小一点。

顺带记一下GitLab命令行管理命令:

gitlab-ctl help
gitlab-ctl show-config
gitlab-ctl status
gitlab-ctl reconfigure
gitlab-ctl restart
gitlab-ctl stop

先改改Unicorn吧:https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/doc/settings/unicorn.md

编辑/etc/gitlab/gitlab.rb

# worker_processes 最小值不能低于2
unicorn['worker_processes'] = 2
unicorn['worker_timeout'] = 60
sidekiq['concurrency'] = 10

改完执行

sudo gitlab-ctl reconfigure

GitLab 开放权限

新建的仓库,指定为私有,只有仓库的拥有者才能进行clone, push, merge等操作。

找到仓库-members,添加成员和成员组,这些人就能clone代码了。最好修改他们的权限为开发者。

找到仓库-Settings-Repository-Portected Branches,修改仓库的push,merge的权限。(拥有者,开发者,拥有者+开发者,任何人)。

启用Swap

阿里云云主机添加swap分区与swap性能优化

swap交换空间是一种虚拟内存机制,默认情况下,阿里云主机是灭有开启swap功能的。原因是通过降低磁盘IO占用率提高磁盘寿命,并且让用户购买内存。

通过top指令或者cat /proc/swaps可以看到系统没有配置swap分区,会导致所有数据都在内存占用。

启用swap有两种方式,一种使用整个磁盘分区作为swap,一种使用文件充当swap:

此处使用文件作为swap

# 创建 /mnt/swapfile 大小为 bs*count = 4294971392(4G)
dd if=/dev/zero of=/mnt/swapfile bs=1M count=4096

# 建议修改权限
chmod 600 /mnt/swapfile

#将上面创建的文件做成swap分区
mkswap /mnt/swapfile

检查内核参数,查看vm.swappiness数值是否为0 (这个值表示系统什么时候会启用swap分区,swappiness=60 表示内存使用率超过100-60=40%时,会启用交换分区)

# 查看参数值
cat /proc/sys/vm/swappiness

# 临时调整
sysctl -w vm.swappiness=60

# 永久调整
vi /etc/sysctl.conf
# 修改 vm.swappiness = 60
# 改完文件重新加载参数
sysctl -p

启用swap分区

swapon /mnt/swapfile

# 添加到起服加载中,永久生效
echo "/mnt/swapfile swap swap defaults 0 0" >> /etc/fstab

# 查看swap分区是否启动
cat /proc/swapfile

# 查看swap是否启用
swapon -s

如果想要关闭分区:

swapoff /mnt/swapfile

# 其他的指令,比如修改优先级
swapon -p 10 /mnt/swapfile

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 using1174@foxmail.com

文章标题: GitLab占用内存过大的问题

文章字数: 600

本文作者: Jun

发布时间: 2018-04-14, 23:35:00

最后更新: 2022-05-08, 20:55:12

原始链接: http://yoursite.com/2018/04/14/GitLab占用内存过大的问题/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏