如何使用 Ruby 和 Gitlab 优化占用的内存

Posted

技术标签:

【中文标题】如何使用 Ruby 和 Gitlab 优化占用的内存【英文标题】:How to optimize the occupied memory using Ruby with Gitlab 【发布时间】:2020-05-24 19:34:44 【问题描述】:

运行:顶部

 PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND  
13960 git       20   0 2032080 336220  13304 S   1.0 16.3   0:31.50 ruby                                
14284 git       20   0  554792 300168  10844 S   0.0 14.5   0:04.27 ruby                                
14287 git       20   0  546056 291068  10652 S   0.0 14.1   0:03.13 ruby                                
 2705 mysql     20   0 1082876 287544    380 S   0.0 13.9   0:01.70 mysqld                              
14104 git       20   0  524072 276016  13324 S   0.0 13.4   0:24.69 ruby                                
14281 git       20   0  524072 267504   4812 S   0.0 13.0   0:00.00 ruby                                                         
13978 gitlab-+  20   0  579824  39872  39280 S   0.0  1.9   0:00.12 postgres                            
 1404 www       20   0  142196  31304    820 S   0.0  1.5   0:00.05 nginx                               
 1405 www       20   0  142196  31304    820 S   0.0  1.5   0:00.05 nginx                               
 1403 www       20   0  142196  30992    508 S   0.0  1.5   0:00.04 nginx    

我的机器只有 2GB 内存。

有没有办法优化配置,减少内存消耗?

【问题讨论】:

【参考方案1】:

不是真的:见GitLab Requirements for memory

您需要至少 8GB 的​​可寻址内存(RAM + 交换)来安装和使用 GitLab!

操作系统和任何其他正在运行的应用程序也将使用内存,因此请记住,在运行 GitLab 之前您至少需要 4GB 可用空间。由于内存较少,GitLab 在重新配置运行期间会出现奇怪的错误,在使用期间会出现 500 个错误。

我们建议您至少拥有2GB of swap on your server,即使您目前有足够的可用 RAM。如果可用内存发生变化,交换将有助于减少发生错误的机会。 我们还建议将 configuring the kernel’s swappiness setting 设置为 10 之类的低值,以充分利用您的 RAM,同时在需要时仍可使用交换。

【讨论】:

以上是关于如何使用 Ruby 和 Gitlab 优化占用的内存的主要内容,如果未能解决你的问题,请参考以下文章

GitLab CE 的高内存使用优化

ruby基础教程之rails性能优化

使用来自 GitLab 的私有 gem 构建一个 Ruby 项目

gitlab 9.0对ruby的版本有要求吗

ruby 版本的 Gitlab dpl 问题

记录一次gitlab占用cpu过高问题处理方法