首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ansible: git克隆失败,“致命:内存不足,realloc失败”。

Ansible: git克隆失败,“致命:内存不足,realloc失败”。
EN

Stack Overflow用户
提问于 2022-09-06 13:04:25
回答 1查看 82关注 0票数 0

我在Windows主机(VM)中使用Ansible。我正在尝试git clone一个大的内容(实际上使用git lfs)。总共大约15公斤

我正在使用git for windows (https://github.com/git-for-windows/git/releases/tag/v2.37.2.windows.2)。

我有以下不可接受的任务:

代码语言:javascript
复制
- name: Clone repository
  ansible.windows.win_command: >
    <path/to/git.exe> clone <git-repo>

问题是,它总是因为错误而失败:

fatal: Out of memory, realloc failed

我试图增加windows内存,或者使用git config设置,例如,在几个帖子中解释了这一点:

但这些解决方案对我都没有用。它总是在同样的点上失败:

代码语言:javascript
复制
"Filtering content:  48% (440/902), 2.11 GiB | 6.70 MiB/s",
"fatal: Out of memory, realloc failed",
"Error downloading object: xxxxxxx: Smudge error: Error reading from media file: write /dev/stdout: The pipe is being closed.: write /dev/stdout: The pipe is being closed.",
"",
"Errors logged to 'xxxx.log'.",
"Use `git lfs logs last` to view the log.",
"warning: Clone succeeded, but checkout failed.",
"You can inspect what was checked out with 'git status'",
"and retry with 'git restore --source=HEAD :/'"

奇怪的是,这个错误只在使用Ansible时发生。如果我连接到VM并手动运行完全相同的git clone命令,一切都进行得很顺利。

你有办法帮我吗?谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-10-20 03:55:03

在类似的情况下,我也经历过同样的行为。我试图为一个存储库做一个参考克隆,这个库最初超过100‘s,也包含LFS文件。只有在试图通过Ansible的win_shell执行克隆时,才会看到内存不足。

对我起作用的是使用Ansible win_shell模块,并将MaxMemoryPerShellMB提高到足够大的值。我计算出这个值的方法是将内存加倍,直到它大于默认值,但小于或等于我的机器的实际内存限制。

包括成功解决此问题所需的任务片段:

代码语言:javascript
复制
---
- name: Increase MaxMemoryPerShellMB
  win_shell: 'Set-Item WSMan:\localhost\Shell\MaxMemoryPerShellMB <value>'

- name: Clone the repository
  win_shell: '<git clone command>'
  args:
    executable: cmd

此外,如果您的usecase有可能,我建议跳过LFS文件的克隆,然后获取您需要的文件。请参阅“git config”中的How to clone/pull a git repository, ignoring LFS?命令。这很微妙,但答案似乎表明,GIT_LFS_SKIP_SMUDGE变量对于Windows来说已经过时了。我还在为这个找到一份合适的文档。

希望这对你有帮助!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73622554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档