最近我尝试克隆一个git仓库时,遇到了以下错误日志:
remote: Counting objects: 4607, done.
error: git upload-pack: git-pack-objects died with error.B/s
fatal: git upload-pack: aborting due to possible repository corruption on the remote side.
remote: fatal: Out of memory, malloc failed (tried to allocate 119483755 bytes)
remote: aborting due to possible repository corruption on the remote side.
fatal: early EOF
fatal: index-pack failed
经过调查,看起来错误是来自仓库服务器。我通过ssh连接并尝试了以下所有方法(基本上是前两页谷歌搜索结果提出的所有解决方案):
Modified config file by adding the following lines:
[core] packedGitLimit = 512m packedGitWindowSize = 512m [pack] windowMemory = 512m packSizeLimit = 512m deltaCacheSize = 512m threads = 1 window = 0
Tried the following commands which yielded the following error logs:
git repack -a -f -d
Counting objects: 4607, done. fatal: Out of memory, malloc failed (tried to allocate 119483755 bytes)
git fsck
fatal: Out of memory, malloc failed (tried to allocate 119483755 bytes)
git gc
fatal: Out of memory, malloc failed (tried to allocate 119483755 bytes) error: failed to run repack
So basically, it tells me that it is a memory error but I have enough memory :
free -m
total used free shared buffers cached Mem: 12043 10825 1217 0 192 8406 -/+ buffers/cache: 2226 9816 Swap: 258 30 228
ulimit -a
core file size (blocks, -c) 0 data seg size (kbytes, -d) 131072 scheduling priority (-e) 0 file size (blocks, -f) unlimited pending signals (-i) 48169 max locked memory (kbytes, -l) 64 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) 819200 real-time priority (-r) 0 stack size (kbytes, -s) unlimited cpu time (seconds, -t) 1800 max user processes (-u) 90 virtual memory (kbytes, -v) 131072 file locks (-x) unlimited
我需要帮助,谢谢。
cat /sys/fs/cgroup/memory/memory.limit_in_bytes
在这种情况下可能会显示一些内容。 - J.J. Hakala