Go运行时:初始化malloc堆之前出现死机

Go运行时:初始化malloc堆之前出现死机,go,Go,我使用的是windows 7 32位enterprise,当我在cmd上键入godoc时,会出现以下异常: 运行时:初始化malloc堆之前死机 致命错误:运行时:无法恢复竞技场虚拟地址空间 GO版本:go1.2rc5.windows-386.msi OS:Windows7Enterprise32位我从未将Windows用作开发站,所以我只是在这里做一些假设 我假设您的系统没有足够的一次性ram来运行godoc,或者您在受限模式下运行godoc,无法请求为内核分配内存 无论如何,我认为错误消息有

我使用的是windows 7 32位enterprise,当我在cmd上键入godoc时,会出现以下异常:

运行时:初始化malloc堆之前死机
致命错误:运行时:无法恢复竞技场虚拟地址空间

GO版本:go1.2rc5.windows-386.msi

OS:Windows7Enterprise32位

我从未将Windows用作开发站,所以我只是在这里做一些假设

我假设您的系统没有足够的一次性ram来运行godoc,或者您在受限模式下运行godoc,无法请求为内核分配内存


无论如何,我认为错误消息有趣部分的关键部分是“无法恢复arena虚拟地址空间”,值得在golang nuts邮件列表中询问您的问题。

检查您是否有足够的可用(物理)RAM,是否没有虚拟地址空间限制和 尝试以管理员权限重新启动程序(有混乱)。如果这没有帮助

错误意味着什么 致命错误:运行时:无法恢复竞技场虚拟地址空间

Go在虚拟地址空间中保留一个内存区域。 此内存区域用于Gos内部内存分配,并提前保留,以便 该区域是连续的。这个空间很小。 仅保留地址范围

正如运行时当前所做的那样,它总是尝试 在32位计算机上保留虚拟地址空间

即使保留内存也是有成本的,您的操作系统(windows)也必须分配内存来保存内存 分配信息,a。 如果没有足够的内存来保存此描述符,则保留将失败。 另一方面,可能只是虚拟地址空间不能容纳768MB的数据
连续空间和失败(例如,由于碎片)。

假设您的问题是“我应该怎么做才能让godoc运行?”:获取更多RAM。不仅是对godoc,而且每次我尝试编译时都会出现错误谢谢您的回答。我用管理员权限启动了cmd,但它是一样的。当我尝试在EclipseJuno中编译代码时,不仅仅是godoc,它还给了我同样的异常。我有一个8GB的内存。对不起,我没有看到你正在运行go 1.2rc5,你试过使用1.1.2吗?分配器中有一些更改。是的,我尝试了1.1.2,但仍然是一样的。在搜索解决方案时,我发现32位开发不适合GO,是真的吗?所以您安装了32位操作系统和8GB RAM?那么你没有8GB的内存,只有3.xGB的可用内存,这也许可以解释为什么你会遇到内存问题。升级到64位操作系统以使用完整的8GB RAM。