Ubuntu Linux git gc说错误:无法运行重新包装

发布时间:2020-04-08 发布网站:大佬教程
大佬教程收集整理的这篇文章主要介绍了Ubuntu Linux git gc说错误:无法运行重新包装大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在阅读其他类似标题的帖子,但似乎与我无关.我在我当地的ubuntu盒子里有一个git repo.我的文件是 mysql dump我分成2mb文件.当我git gc时,这是输出:
git@pc:~/repos/x$git gc
Counting objects: 17244,done.
Delta compression using up to 4 threads.
Killedssing objects:  90% (2491/2767)   
error: failed to run repack

有没有办法追踪造成的?我已经试过了

git config --global pack.windowMemory "20m"
git config --global pack.packSizeLimit "20m"
git config --global pack.threads "1"

但这是输出

git@pc:~/repos/x$git gc
Counting objects: 17244,done.
Killedssing objects:   3% (88/2767)   
error: failed to run repack

编辑

这对我有用:

git config --global pack.windowMemory "20m"
git config --global pack.packSizeLimit "20m"
git config --global pack.threads "4"
git config --global pack.window "2"
git config --global pack.depth "10"

看起来因为我只有256 ram vps.和其他过程已经吃100mb.我也会尝试升级我的vps,因为这个配置使得git gc和git clone非常慢.

再次编辑
经过更多的调查,这是因为线程.我有4个虚拟核分配给我的vps,当我把pack.threads“2”没有其他时,问题就消失了.

我让我的提供者给我更多的ram,但这没有帮助.只有在我配置线程时.希望这能帮到别人

解决方法

从您的输出看,在增量压缩阶段,该过程似乎被外部进程(例如Linux OOM Killer或其他资源管理进程)所杀死.如果您的内存或磁盘空间不足,那么这将为您提供开始调查的合理位置.

您也可以考虑在strace下运行您的流程.这通常会告诉您程序在收到信号时正在做什么,但可能并不总是告诉您信号发送者实际上是谁.

如果strace使您失败,Git源当前有12个引用sigaction(2),您可以通过检查siginfo_t struct来确定信号发送器.这很可能需要核心转储或交互式调试器,如gdb.

大佬总结

以上是大佬教程为你收集整理的Ubuntu Linux git gc说错误:无法运行重新包装全部内容,希望文章能够帮你解决Ubuntu Linux git gc说错误:无法运行重新包装所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ群:277859234,请注明来意。