增加最大分配内存 Golang 1.4+
Increase Max Allocated Memory Golang 1.4+
我正在考虑升级到 Go 1.4,但我很担心,因为我不再知道如何更改我可以寻址的最大内存量。
我一直在使用 Go to 运行 在大型服务器上进行一些机器学习实验,512GB 的主内存,这使得使用 37 位地址设置的 128GB 限制不足。
以前我会编辑 运行time 包中的 malloc.h 以更改为 38 位地址,但是随着源代码从 C 到 Go 的转换,我很难找到是否还有一些简单的修改。
这个将最大内存从 16GB 更改为 128GB 的提交显示了我正在谈论的那种更改https://code.google.com/p/go/source/detail?r=a310cb32c278
所以我意识到我没有找到该文件,因为我不习惯使用 Google 代码存储库浏览器。我找到了现在的 3 malloc.go 个文件,并找到了相关的代码部分。
https://code.google.com/p/go/source/browse/src/runtime/malloc2.go#122
老实说,我认为使用 1 和 0 布尔值和乘法而不是简单的 if 语句的更新过于混乱,并且没有像过去的头文件那样清楚地传达正在发生的事情。
也谢谢你 bambon 我在阅读邮件列表并链接到不同的 repo 查看器后才意识到我的错误。
我正在考虑升级到 Go 1.4,但我很担心,因为我不再知道如何更改我可以寻址的最大内存量。 我一直在使用 Go to 运行 在大型服务器上进行一些机器学习实验,512GB 的主内存,这使得使用 37 位地址设置的 128GB 限制不足。
以前我会编辑 运行time 包中的 malloc.h 以更改为 38 位地址,但是随着源代码从 C 到 Go 的转换,我很难找到是否还有一些简单的修改。
这个将最大内存从 16GB 更改为 128GB 的提交显示了我正在谈论的那种更改https://code.google.com/p/go/source/detail?r=a310cb32c278
所以我意识到我没有找到该文件,因为我不习惯使用 Google 代码存储库浏览器。我找到了现在的 3 malloc.go 个文件,并找到了相关的代码部分。 https://code.google.com/p/go/source/browse/src/runtime/malloc2.go#122
老实说,我认为使用 1 和 0 布尔值和乘法而不是简单的 if 语句的更新过于混乱,并且没有像过去的头文件那样清楚地传达正在发生的事情。
也谢谢你 bambon 我在阅读邮件列表并链接到不同的 repo 查看器后才意识到我的错误。