git fatal: Out of memory, malloc failed

当遇到'git fatal: Out of memory, malloc failed'错误时,通常是由于内存不足导致。通过查看git目录的内存占用,发现需要近3GB的内存。常见的解决方法包括调整git配置以减少资源占用,如设置`pack.threads`、`pack.deltaCacheSize`和`pack.windowMemory`。然而,对于大型git项目,这些方法效果有限。真正的解决方案是创建交换(swap)空间,通过创建一个交换文件并将其添加到系统中,然后在重启后自动启用,从而解决git操作时的内存问题。" 50590651,5011225,数据挖掘:文本分词算法详解,"['数据挖掘', '算法', '文本处理']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想必大部分人看到“Outof memory, mallocfailed”,第一反应肯定是内存不足,一般的电脑也就2GRAM,如果是虚拟机也就几百M而已,而进入需要pullpushgit目录:gitcount-objects -v可以看到如下内容:

count: 7

size: 60

in-pack:2983280

packs: 1

size-pack:751489

prune-packable:0

garbage:0

in-pack需要近3G的内存啊,这哪有内存给其使用。

目前网上给的方法是如下:

gitconfig --global pack.threads 1

gitconfig --global pack.deltaCacheSize = 128m
git config --globalpack.windowMemory 1024m

这样一来,应该是可以减小资源的占用,但对于大的git还是无济于事。


其实问题原因是需要一个Swap空间,原来我的系统安装时没有分配交换空间。

1添加交换文件
mkdir-p /opt/temp
dd if=/dev/zeroof=/opt/temp/swap bs=1024 count=4096000
(目录路径和大小自己看着办就好了)


2.
创建交换空间
mkswap/opt/temp/swap


3.
启动新增加的4G交换空间
swapon/opt/temp/swap


4.
修改/etc/fstab,使新加的4G交换空间在系统重新启动后自动生效
echo"/opt/temp/swap swap swap defaults 0 0" >>/etc/fstab


5.
看看swap大小free-m


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值