git clone命令报错问题解决

第一次使用git clone下载文件时报错,fatal: Out of memory, malloc failed

经过长时间实验确认实swap空间设置问题造成的,通过free -h 可以查看空间,我的swap空间为0

下面是增加swap交换空间的解决办法:

step 1. 生成文件

先填充一个大文件,等会儿当做交换文件用:

1

dd if=/dev/zero of=/var/swap bs=1024 count=4096000

这里会稍微卡上一会儿,是dd在填充文件。

step 2. 格式化交换文件

将文件格式化为交换文件:

1

mkswap /var/swap

image

 

step 3. 加载交换文件

加载这个交换文件:

1

swapon /var/swap

image

同时将其设置为每次开机就挂载,在/etc/fstab追加一行:

1

/var/swap swap swap defaults 0 0

 

step 4. 测试是否加载成功

搞一个吃内存的小脚本执行一下来测试是否使用到的交换文件:

1

2

3

4

5

6

7

8

#!/bin/bash

mkdir /tmp/memory

mount -t tmpfs -o size=1024M tmpfs /tmp/memory

dd if=/dev/zero of=/tmp/memory/block

sleep 3600

rm /tmp/memory/block

umount /tmp/memory

rmdir /tmp/memory

根据自己的情况调整size=1024M,不然很可能一不小心就把系统搞挂了…

查看内存,交换文件被使用,说明交换文件已经加载成功了:

 image

相关命令详解

mkswap

用于将一个文件或分区格式化为交换文件格式。

 

swapon

查看当前加载的交换文件信息:

1

swapon -s

 image

等价于:

1

cat /proc/swaps

 

swapoff

使用swapoff来卸载已经挂载的交换文件,卸载的同时将/etc/fstab中对应的挂载项删除。

1

swapoff /var/swap

你可能感兴趣的:(git clone命令报错问题解决)