3 回答
TA贡献1834条经验 获得超8个赞
如果您共享您的操作系统版本,如果是32位对64位,并且获得了您的go version
结果,我们可能会为您提供更多帮助。
Go的32位版本存在堆内存问题,通常在生产中不使用。确保在64位平台上使用Go的64位版本。
Go提示,将成为Go 1.1的go分支已将最大堆空间从8 GB升级到了128 GB。与我交谈过的核心Go开发人员建议使用Go tip进行内存密集型生产。
Windows上的Go使用较少,因此测试较少,这可能是一个错误。在Linux和OS X较小程度上,Go的尝试和真实性更高。
正如peterSO所提到的,Robert Hundt的基准测试存在缺陷-在此处了解更多:Profiling Go程序
TA贡献1811条经验 获得超4个赞
一个人只能疯狂地猜测-因为缺少更多细节。
如果您运行的是32位Go版本,请改用64位Go版本,并使用最新修订版。
如果可能,请使用* nix平台-它具有IMO更好的内存管理。
TA贡献1934条经验 获得超2个赞
对于那些可能感兴趣的人,我给先生发送了一封邮件。洪特本人问是否有一些(未公开说明的)编译器开关可以通过某种方式修改或参数化堆大小。这是因为我首先错误地认为这样的开关必须存在,但没有记录在案。而且似乎也没人知道我在这里的帖子。我想我在这方面对jvm的工作方式感到“太受启发了”。
无论如何,他建议尝试使用不同的编译器(基于gcc的编译器或基于plan-9的编译器),因为一种编译器可能会比另一种更好。当然,然后尝试使用64位计算机。
他还为我指出了一些有关Go的内存管理的好文章:http : //lwn.net/Articles/428100/
但是,没有,没有编译器开关可以处理内存设置。
- 3 回答
- 0 关注
- 211 浏览
添加回答
举报