亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Windows上的Git,“內存不足-malloc失敗”

Windows上的Git,“內存不足-malloc失敗”

Git
天涯盡頭無女友 2019-11-11 14:19:47
遇到了存儲庫問題,并嘗試了幾乎所有可能的配置設置,例如。pack.WindowMemory等我相信有人已經將一個大文件檢入到遠程存儲庫中,現在每次我嘗試將其拉入或推入時,GIT都會嘗試將其打包并耗盡內存:Auto packing the repository for optimum performance. You may alsorun "git gc" manually. See "git help gc" for more information.Counting objects: 6279, done.Compressing objects: 100% (6147/6147), done.fatal: Out of memory, malloc failed (tried to allocate 1549040327 bytes)error: failed to run repack嘗試了git gc和git repack的各種選項,但始終返回相同的錯誤。幾乎放棄了,即將創建一個新的倉庫,但我想先問一下:)
查看完整描述

3 回答

?
湖上湖

TA貢獻2003條經驗 獲得超2個贊

我在這里找到了對我有用的解決方案。


在.git / config文件(客戶端和/或服務器)中,我添加了以下內容:


[core]

  packedGitLimit = 128m

  packedGitWindowSize = 128m


[pack]

  deltaCacheSize = 128m

  packSizeLimit = 128m

  windowMemory = 128m


查看完整回答
反對 回復 2019-11-11
?
UYOU

TA貢獻1878條經驗 獲得超4個贊

自git-v2.5.0 (2015年8月)以來,git-for-windows(以前為MSysGit)

? ? ? 提供了Pan.student注意到的64位版本。 ? ? ? 在此答案中,我建議安裝Cygwin 64位(提供64位Git版本)。


達到4GB的限制時,我Out of memory, malloc failed使用MSysGit遇到了類似的問題:


> git --version

git version 1.8.3.msysgit.0


> file path/Git/cmd/git

path/Git/cmd/git: PE32 executable for MS Windows (console) Intel 80386 32-bit


> time git clone --bare -v ssh://linuxhost/path/repo.git

Cloning into bare repository 'repo.git'...

remote: Counting objects: 1664490, done.

remote: Compressing objects: 100% (384843/384843), done.

remote: Total 1664490 (delta 1029586), reused 1664490 (delta 1029586)

Receiving objects: 100% (1664490/1664490), 550.96 MiB | 1.55 MiB/s, done.

Resolving deltas: 100% (1029586/1029586), done.

fatal: Out of memory, malloc failed (tried to allocate 4691583 bytes)

fatal: remote did not send all necessary objects


real    13m8.901s

user    0m0.000s

sys     0m0.015s

MSysGit達到4 GB屏障后崩潰


最后來自Cygwin的 git 64位修復了它:


> git --version

git version 1.7.9


> file /usr/bin/git

/usr/bin/git: PE32+ executable (console) x86-64 (stripped to external PDB), for MS Windows


> time git clone --bare -v ssh://linuxhost/path/repo.git

Cloning into bare repository 'repo.git'...

remote: Counting objects: 1664490, done.

remote: Compressing objects: 100% (384843/384843), done.

remote: Total 1664490 (delta 1029586), reused 1664490 (delta 1029586)

Receiving objects: 100% (1664490/1664490), 550.96 MiB | 9.19 MiB/s, done.

Resolving deltas: 100% (1029586/1029586), done.


real    13m9.451s

user    3m2.488s

sys     3m53.234s

來自Cygwin的git 64位成功


僅供參考linuxhost:64位:


repo.git> git config -l

[email protected]

core.repositoryformatversion=0

core.filemode=true

core.bare=true


repo.git> git --version

git version 1.8.3.4


repo.git> uname -a

Linux linuxhost 2.6.32-279.19.1.el6.x86_64 #1 SMP Sat Nov 24 14:35:28 EST 2012 x86_64 x86_64 x86_64 GNU/Linux


查看完整回答
反對 回復 2019-11-11
  • 3 回答
  • 0 關注
  • 1777 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號