我正在运行Rober Hundt基准测试中的Go代码来比较Go与其他语言的性能。当我从该基准测试运行Go代码时(参见http://code.google.com/p/multi-language-bench/source/browse/trunk/src/#src%2Fhavlak%2Fgo),我得到了一个内存不足的例外:
................运行时:内存不足:无法分配1048576字节块(1270808576正在使用中) 抛出:内存不足
我的问题是如何增加Go的内存空间。是否有一些启动参数或编译器的某些标志可以相应设置? Go源的Makefile文件没有显示任何内容......
谢谢,奥利弗
答案 0 :(得分:6)
如果您分享您的操作系统版本,如果它是32位与64位以及您的go version
结果,我们可以为您提供更多帮助。
答案 1 :(得分:4)
由于缺乏更多细节,人们只能疯狂地猜测。
答案 2 :(得分:1)
答案 3 :(得分:0)
对于那些可能感兴趣的人,我发了一封邮件给先生。请问自己是否有一些(未记录的)编译器开关,可以通过某种方式调整堆大小或参数化。这是因为我第一次错误地认为这种转换必须存在,但没有记录。没有人回答我在这里的帖子似乎也知道了。我想我在jvm的工作方式上“受到了太大的启发”......
无论如何,他建议尝试不同的编译器(基于gcc的编译器,或基于计划9的编译器),因为一个可能比另一个更好。然后尝试使用64位计算机。
他还指出了一些关于Go的内存管理的好文章:http://lwn.net/Articles/428100/
但不,没有编译器开关可以使用内存设置。
问候,奥利弗