【问题标题】:No memory for git clonegit clone 没有内存
【发布时间】:2021-12-30 00:34:25
【问题描述】:

我正在使用共享托管计划,并且我已经使用我的虚拟主机完成了许多 git 项目/命令。但是,我正在开始一个新项目,与一个更大的项目 (8MB) 相比,它仍然很小 (4MB),我能够成功地与他们一起托管而没有任何问题。

当我运行git clone ... 命令时,我得到以下信息:

dokgu@domain.com [~/project.domain.com]# git clone git@gitlab.com:dokgu/project.git .
Cloning into '.'...
remote: Enumerating objects: 1925, done.
remote: Counting objects: 100% (1925/1925), done.
remote: Compressing objects: 100% (1642/1642), done.
remote: Total 1925 (delta 305), reused 1864 (delta 271), pack-reused 0
Receiving objects: 100% (1925/1925), 3.61 MiB | 8.54 MiB/s, done.
fatal: unable to create thread: Resource temporarily unavailable
fatal: index-pack failed

我已经尝试拨打他们的技术支持热线,但他们没有任何帮助。

我还试图查看我的帐户的内存状态,这就是我发现的:

dokgu@domain.com [~]# free -m
             total       used       free     shared    buffers     cached
Mem:        128963     126375       2587        245      17221      76232
-/+ buffers/cache:      32920      96042
Swap:         5999        362       5637

如您所见,我只有 2.5MB 的可用内存,但是当我尝试列出所有占用内存的进程时:

dokgu@domain.com [~]# ps aux
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
dokgu          1  0.0  0.0  16628  2776 ?        SN   18:28   0:00 /usr/local/cpanel/bin/jailshell -l
dokgu         52  0.0  0.0  18508  2064 ?        RN+  18:31   0:00 ps aux

当托管公司的技术支持甚至无法帮助我时,我该怎么办?

【问题讨论】:

    标签: git memory memory-management terminal out-of-memory


    【解决方案1】:

    您看到的问题是线程化的git index-pack 无法创建它使用的线程,可能是因为它受到人为限制。 Linux上的相关限制是RLIMIT_NPROC,它控制了一次可以启动的线程数。

    不幸的是,虽然git index-pack 有一个控制线程数的选项,但当它在git fetchgit clone 的后台使用时无法传递它,并且没有配置选项可以控制它。

    不过,您有一些选择:

    • 尝试使用ulimit -u 1024 或类似的东西来增加允许的线程数。较小的值也可能满足您的需求。您可以使用ulimit -u 查看当前值。
    • 请您的托管服务提供商为您的帐户增加允许的进程或线程数。
    • 请您的托管服务提供商提供一个不使用线程编译的 Git 版本,这样就不会出现问题,或者您自己编译一个。
    • 在别处克隆存储库并使用 SFTP 将其复制过来。
    • 寻找限制更合理的其他托管服务提供商。

    请注意,问题不是可用内存。使用-mfree 打印兆字节,您有 2.5 GB 可用空间,应该足够了。

    【讨论】:

      猜你喜欢
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-07
      • 2012-08-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多