git fatal: Out of memory, malloc failed

想必大部分人看到“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


你可能感兴趣的:(It杂乱)