如何设置 pack.windowMemory 的值?

boo*_*ife 8 git

我正在尝试限制正在使用的内存量git gc --aggressive。我设置pack.windowMemory为 8 GB 来执行此操作:

git config --global pack.windowMemory 8g
Run Code Online (Sandbox Code Playgroud)

配置文件现在正确显示:

[pack]
    windowMemory = 8g
Run Code Online (Sandbox Code Playgroud)

文档表明这应该有效。

git gc会产生错误:

$ git gc --aggressive

致命:“pack.windowmemory”的错误数字配置值“8g”:超出范围

致命:无法运行重新打包

我该如何设置pack.windowMemory

grg*_*grg 7

pack.windowmemory 是一个 ulong。

\n\n

maximum_unsigned_value_of_type(long)是 2 32(32 位)= 4,294,967,296 \xe2\x89\x88 40 亿。

\n\n

g后缀为 1,073,741,824。\n8 \xc3\x97 1,073,741,824 = 8,589,934,592 \xe2\x89\x88 80 亿。

\n\n

您需要选择最多 4 GB 左右的值。

\n

  • 如果您使用的是 32 位系统或 Windows,那么不行,没有办法解决这个问题。仅在 64 位 Unix 系统上才能指定大于 2 GiB 的值。Git 可能应该在 64 位 Windows 上切换为使用 64 位值,但这是一个尚未解决的棘手兼容性问题。 (2认同)