gitlab 无法查看提交的文件Errno::ENOMEM (Cannot allocate memory - /opt/gitlab/embedded/bin/git):

  gitlab可以成功clone和push,但是提交后的文件却无法查看。从页面上看的话只显示出500错误。

    

  查了下gitlab的日志

tail -f /var/log/gitlab/gitlab-rails/production.log

  显示如下异常:

Started GET "/gitlab/root/test/commit/e83228ea1bbf183a0f3199f11f995731b23bc1f7" for 14.23.93.99 at 2016-07-04 17:49:08 +0800
Processing by Projects::CommitController#show as HTML
  Parameters: {"namespace_id"=>"root", "project_id"=>"test", "id"=>"e83228ea1bbf183a0f3199f11f995731b23bc1f7"}
Completed 200 OK in 224ms (Views: 156.4ms | ActiveRecord: 14.7ms)
Started GET "/gitlab/root/test/commit/e83228ea1bbf183a0f3199f11f995731b23bc1f7/branches" for 14.23.93.99 at 2016-07-04 17:49:09 +0800
Processing by Projects::CommitController#branches as HTML
  Parameters: {"namespace_id"=>"root", "project_id"=>"test", "id"=>"e83228ea1bbf183a0f3199f11f995731b23bc1f7"}
Completed 500 Internal Server Error in 291ms (ActiveRecord: 3.1ms)

Errno::ENOMEM (Cannot allocate memory - /opt/gitlab/embedded/bin/git):
  lib/gitlab/popen.rb:23:in `popen‘
  app/models/repository.rb:648:in `refs_contains_sha‘
  app/models/repository.rb:664:in `branch_names_contains‘
  app/controllers/projects/commit_controller.rb:64:in `branches‘
  lib/gitlab/middleware/go.rb:16:in `call‘

Started GET "/gitlab/root/test/autocomplete_sources?type=Commit&type_id=e83228ea1bbf183a0f3199f11f995731b23bc1f7" for 14.23.93.99 at 2016-07-04 17:49:10 +0800
Processing by ProjectsController#autocomplete_sources as JSON
  Parameters: {"type"=>"Commit", "type_id"=>"e83228ea1bbf183a0f3199f11f995731b23bc1f7", "namespace_id"=>"root", "id"=>"test"}
Completed 200 OK in 170ms (Views: 83.8ms | ActiveRecord: 9.9ms)
Started GET "/gitlab/root/test/notes?target_id=e83228ea1bbf183a0f3199f11f995731b23bc1f7&target_type=commit&last_fetched_at=1467625748" for 14.23.93.99 at 2016-07-04 17:49:24 +0800
Processing by Projects::NotesController#index as JSON
  Parameters: {"target_id"=>"e83228ea1bbf183a0f3199f11f995731b23bc1f7", "target_type"=>"commit", "last_fetched_at"=>"1467625748", "namespace_id"=>"root", "project_id"=>"test"}
Completed 200 OK in 47ms (Views: 0.3ms | ActiveRecord: 3.6ms)

  查了下内存为2G,已经满足gitlab最小内存1G的要求。

[[email protected] ~]# free -h
             total       used       free     shared    buffers     cached
Mem:          1.8G       1.7G        63M        43M       9.7M       140M
-/+ buffers/cache:       1.6G       213M
Swap:           0B         0B         0B

  但是非常诡异的是swap为0,网上找了发现也有人遇到相应的问题。于是修改下swap的大小

[[email protected] ~]# free -h
             total       used       free     shared    buffers     cached
Mem:          1.8G       1.7G        63M        43M       9.7M       140M
-/+ buffers/cache:       1.6G       213M
Swap:           0B         0B         0B
[[email protected] ~]# mkdir /swapfile
[[email protected] ~]# cd /swapfile
[[email protected] swapfile]# sudo dd if=/dev/zero of=swap bs=1024 count=2000000
2000000+0 records in
2000000+0 records out
2048000000 bytes (2.0 GB) copied, 39.1198 s, 52.4 MB/s
[[email protected] swapfile]# sudo mkswap -f  swap
Setting up swapspace version 1, size = 1999996 KiB
no label, UUID=75b00bde-7aed-48f3-b373-126a2054ad26
[[email protected] swapfile]# sudo swapon swap
swapon: /swapfile/swap: insecure permissions 0644, 0600 suggested.
[[email protected] swapfile]# free -h
             total       used       free     shared    buffers     cached
Mem:          1.8G       1.7G        93M        43M       1.2M        23M
-/+ buffers/cache:       1.7G       118M
Swap:         1.9G         0B       1.9G
[[email protected] swapfile]# 

  修改后再次查看,果断地出来了,记录于此。

时间: 2024-10-11 13:15:07

gitlab 无法查看提交的文件Errno::ENOMEM (Cannot allocate memory - /opt/gitlab/embedded/bin/git):的相关文章

mysql报错mmap(137428992 bytes) failed; errno 12,Cannot allocate memory for the buffer pool

mysql以`systemctl start mysqld.service`的方式启动一段时间后发现突然无法启动,尝试重新启动也不能解决问题,排查问题时,先后通过`systemctl status mysqld.service`和`journalctl -xe` 命令查看问题,无所得.然后查看`/var/log/mysqld.log`发现日志内报错信息如下: 2019-02-07T00:33:21.731341Z 0 [Note] InnoDB: Initializing buffer pool

git学习------>如何用git log命令来查看某个指定文件的提交历史记录

有时候接手一份新代码时,看到某些文件的改动,但不清楚这个改动的作者和原因,想查看该文件的具体提交历史记录. 今天一个同事是这样做的,直接敲git log命令,然后再使用vim命令的搜索关键字的方法来查看该文件的提交记录,如下所示: 例如:我想查看frameworks/base/packages/SystemUI/AndroidManifest.xml该文件的提交记录,敲了git log命令后,直接按"/"然后加入该文件的路径,后就可以搜索该文件名作为关键字,然后按N和Ctrl+N进行上

gitlab新建项目提交代码

转自:https://www.cnblogs.com/yoyoketang/p/10282529.html root用户 gitlab首次在浏览器上打开web页面,会出现设置root初始密码的界面,密码设置8位数,比如:11111111 密码设置之后,用root用户名就可以登录了 登录成功后页面 新建项目 我们在开发一个项目的时候,需要先在gitlab上新建一个工程,点加号选“New project” 项目名称随便写,项目有三个权限 Private 私有项目,只有自己或者项目组内的人才能访问 I

git log 查看提交记录,参数:

git log 查看提交记录,参数:-n (n是一个正整数),查看最近n次的提交信息 $ git log -2 查看最近2次的提交历史记录 -- fileName fileName为任意文件名,查看指定文件的提交信息.(注:文件名应该放到参数的最后位置,通常在前面加上--并用空格隔开表示是文件.) $ git log file1 file2 查看file1文件file2文件的提交记录$ git log file/ 查看file文件夹下所有文件的提交记录 --branchName branchNa

1. 查看提交历史

命令:git log 2. 选项 --pretty[=<format>]1)介绍 除了默认格式查看提交历史以外,还可以通过 --pretty[=<format>] 或者 --format[=<format>] 制定输出格式.<format> 可以是 noeline, short, medium, full, fuller, email, raw, format: 中的一个,他们各自的输出格式可以参考 git log --help 或者(3).接下来我们主要是

git log 查看提交记录

1. git log 查看提交历史记录 2. git log --oneline  或者 git log --pretty=oneline 以精简模式显示 3. git log --graph 以图形模式显示 4. git log --stat 显示文件更改列表 5. git log --author= 'name' 显示某个作者的日志 6. git log -p filepath 查看某个文件的详细修改 7. git log -L start,end:filepath 查看某个文件某几行范围内

git 使用详解(5)-- get log 查看提交历史【转】

转自:http://blog.csdn.net/wh_19910525/article/details/7468549 版权声明:本文为博主原创文章,未经博主允许不得转载. 目录(?)[-] 限制输出长度 使用图形化工具查阅提交历史  git log  查看 提交历史 在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 Git log 命令查看. 接下来的例子会用我专门用于演示的 simplegit 项目,运行下面的命令获取该项目源代码: git clone git://gi

【小命令大作用】第三篇 ls 命令 - 查看目录或文件

ls命令查看目录或文件 [语法] ls [选项] (路径) [常用选项] -l    长文本查看文件=windows的右键属性 -d    查看目录 PS:一般配合-l使用 -a    查看目录下所有文件(包括隐藏文件) -i    显示索引号(inode) -F    给文件加标识 -t    以文件修改时间排序 -r    倒序排列 -k    以K为单位显示大小 [实例] 查看/etc/最近修改的文件并以长格式显示 [[email protected] ~]# ls -lrt /etc/ 

git 使用详解(5)-- get log 查看提交历史

 git log  查看 提交历史 在提交了若干更新之后,又或者克隆了某个项目,想回顾下提交历史,可以使用 git log 命令查看. 接下来的例子会用我专门用于演示的 simplegit 项目,运行下面的命令获取该项目源代码: git clone git://github.com/schacon/simplegit-progit.git 然后在此项目中运行 git log,应该会看到下面的输出: $ git log commit ca82a6dff817ec66f44342007202690a