当前位置: 首页 > article >正文

Git创建和拉取项目分支的应用以及Gitlab太占内存,如何配置降低gitlab内存占用进行优化

一、Git创建和拉取项目分支的应用

1. 关于git创建分支,

        git创建分支,可以通过git管理平台可视化操作创建,也可以通过git bash命令行下创建:

A. 是通过git管理平台创建:

        进入gitlab管理平台具体的目标项目中,在项目名称下能看到如“253次提交 2个分支 0个标签 6.9 MB文件 6.9 MB存储"的统计信息,点击其中的*个分支处即能看到分支的管理页面,直接在界面上点击“新建分支”,输入Branch name并选择create from(默认就是master)后点击创建分支create brance即可。

B. 通过git bash命令行下创建:

#当前处于master主干分支上
git branch test
git add .
git commit -m ‘新增分支’
git push origin test
git push --set-upstream origin test

        只有在执行git push操作成功后才能在git管理平台上查看到新建的分支,不然看不到。

2. 关于git拉取分支,

        git拉取分支,使用git clone 拉取仓库代码默认把master分支拉取下来,要切换到分支需要在本地用git checkout -b新建一个分支,然后在git pull远程的分支。push的时候比较麻烦。所以不建议拉取master然后再切到分支,比较好的方法就是远程直接拉取远程存储库的某个分支到本地文件夹下。使用如下命令直接拉取分支,之后本地命令下操作这套代码就是操作在分支上。不用担心git commit/push出问题。

git clone -b brance_name http:192.168.1.11/url/project.git .

二、Gitlab太占内存,如何配置降低gitlab内存占用进行优化

    在新买的阿里云2C4G服务器上部署上了gitlab,启动后服务器竟然死机了,远程都连不上,原因在gitlab太吃内存,我这里使用的是docker部署。启动脚本如下:

docker run -d 
    --name gitlab13.3 
    -p 9001:80 
    -v /opt/gitlab13.3/config:/etc/gitlab 
    -v /opt/gitlab13.3/logs:/var/log/gitlab 
    -v /opt/gitlab13.3/data:/var/opt/gitlab 
    gitlab/gitlab-ee:13.3.5-ee.0

     要减少gitLab的内存占用,需要修改其配置文件,以上面的配置启动后,gitlab的配置文件 gitlab.rb就在目录/opt/gitlab13.3/config 中。然后我们就可以开始编辑这个配置文件。

1. 进行配置修改减少gitLab内存占用:

1.减少数据库缓存
postgresql['shared_buffers'] = "64MB"
2.减少数据库并发数
postgresql['max_worker_processes'] = 1
3.减少sidekiq并发数
sidekiq['concurrency'] = 1
4.减少进程数
unicorn['worker_processes'] = 1
nginx['worker_processes'] = 2
5.减少超时时间
unicorn['worker_timeout'] = 10

6.减少数据库缓存
postgresql['shared_buffers'] = "64MB"
7.将worker内存上限设置小一点
unicorn['worker_memory_limit_min'] = "100 * 1 << 20"
unicorn['worker_memory_limit_max'] = "220 * 1 << 20"
8.禁用prometheus
prometheus_monitoring['enable'] = false
9关闭一些监控和性能基准相关的功能
prometheus['enable'] = false
prometheus_monitoring['enable'] = false
alertmanager['enable'] = false
node_exporter['enable'] = false
redis_exporter['enable'] = false
postgres_exporter['enable'] = false
pgbouncer_exporter['enable'] = false
gitlab_exporter['enable'] = false
grafana['enable'] = false
sidekiq['metrics_enabled'] = false

2. docker重载配置生效命令:

重载配置:docker exec -it gitlab容器ID gitlab-ctl reconfigure
重启:docker exec -it gitlab容器ID gitlab-ctl restart
查看各个容器内存占用:docker stats

        使用以上方式处理后,服务器算是把gitlab运行起来了,但是看了一下,还是吃了不少内存,基本在1.8G内存左右。我也试着去再降低内存占用。网上还有很多可修改配置。但我发现再怎么修改配置,内存占用也没有再减少。仍然在1.7-1.8G。有些提到的可优化配置如下。我这里试过了没什么明显的效果。

# 关闭容器仓库功能
gitlab_rails['gitlab_default_projects_features_container_registry'] = false
gitlab_rails['registry_enabled'] = false
registry['enable'] = false
registry_nginx['enable'] = false
# 包仓库、依赖管理
gitlab_rails['packages_enabled'] = false
gitlab_rails['dependency_proxy_enabled'] = false
# GitLab Pages
gitlab_pages['enable'] = false
pages_nginx['enable'] = false
# Usage Statistics
gitlab_rails['usage_ping_enabled'] = false
gitlab_rails['sentry_enabled'] = false
grafana['reporting_enabled'] = false
# GitLab KAS
gitlab_kas['enable'] = false
gitlab_rails['gitlab_kas_enabled'] = false
# Terraform
gitlab_rails['terraform_state_enabled'] = false
# Kerberos 文档说EE only,但是默认值为 true
gitlab_rails['kerberos_enabled'] = false
# Sentinel
sentinel['enable'] = false
# Mattermost
mattermost['enable'] = false
mattermost_nginx['enable'] = false
# 禁用 PUMA 集群模式
puma['worker_processes'] = 0
puma['min_threads'] = 1
puma['max_threads'] = 2
# 降低后台守护进程并发数
sidekiq['max_concurrency'] = 5
# 关闭电子邮件相关功能
gitlab_rails['smtp_enable'] = false
gitlab_rails['gitlab_email_enabled'] = false
gitlab_rails['incoming_email_enabled'] = false
#关闭默认的 CI 功能
gitlab_ci['gitlab_ci_all_broken_builds'] = false
gitlab_ci['gitlab_ci_add_pusher'] = false


http://www.kler.cn/a/370212.html

相关文章:

  • 2. CSS 中的单位
  • 【JVM-9】Java性能调优利器:jmap工具使用指南与应用案例
  • 港口危货储存单位生产管理人员题库附答案
  • Ubuntu22部署MySQL5.7详细教程
  • 【24】Word:小郑-准考证❗
  • 将n变为一个可以被表示为2^{a}+2^{b}的正整数m
  • 分体式智能网关在现代电力物联网中的优势有哪些?
  • Java SPI 机制详解
  • gaussdb hccdp实验练习03 GaussDB数据库应用程序开发实验
  • 2024年10月24日Github流行趋势
  • 磁盘空间不足导致postgreSQL启动失败
  • Axure使用动态面板制作新闻栏目高级交互
  • 【ChatGP】让ChatGPT解释和简化复杂的技术概念
  • 配置console口密码和远程登录
  • 面试官:Kafka 为什么那么快?
  • Android Input的流程和原理
  • 前端零基础入门到上班:【Day1】什么是前端?
  • 【Android】Kotlin教程(2)
  • MacOS上Homebrew 安装、配置、更改国内镜像源及使用教程
  • GEE APP:为土地分类图数据在地图上添加一个可视化图例
  • 算法备案全攻略:深度合成等五类算法的备案流程详解
  • 基于SSM土家风景文化管理系统的设计
  • 华为HarmonyOS实现实时语音识别转文本
  • 银行信贷风控专题:Python、R 语言机器学习数据挖掘应用实例合集:xgboost、决策树、随机森林、贝叶斯等
  • 论文笔记:SIBO: A Simple Booster for Parameter-Efficient Fine-Tuning
  • 合理使用动画和转场<HarmonyOS第一课>