运行时:在 malloc 堆初始化之前发生恐慌

当我在 cmd 上键入 godoc 时,我使用的是 Windows 7 32 位企业版,它给了我以下异常:

运行时:在 malloc 堆初始化之前
发生恐慌致命错误:运行时:无法恢复 arena 虚拟地址空间

GO 版本:go1.2rc5.windows-386.msi
操作系统:Windows 7 Enterprise 32 位


牛魔王的故事
浏览 182回答 2
2回答

慕后森

检查您是否有足够的空闲(物理)RAM,没有虚拟地址空间限制,并尝试以管理员权限重新启动程序(有报告称 UAC乱七八糟)。如果这没有帮助,请报告问题。错误意味着什么致命错误:运行时:无法恢复 arena 虚拟地址空间Go 在虚拟地址空间中保留一个内存区域。该内存区域用于 Gos 内部内存分配,并提前保留,以便该区域是连续的。该空间尚未实际使用(在 RAM 或磁盘中)。仅保留地址范围。由于运行时当前不处理内存限制,它总是尝试在 32 位机器上保留768MB的虚拟地址空间。即使保留内存也有成本,您的操作系统(Windows)必须分配内存来保存分配信息,即Virtual Address Descriptor。如果您没有足够的内存来保存此描述符,则保留将失败。另一方面,可能只是虚拟地址空间无法容纳 768MB 的连续空间而失败(例如由于碎片)。

狐的传说

我从来没有用windows作为开发站,所以我只是在这里做一些假设。我假设您的系统是否没有足够的一次性 ram 来运行 godoc,或者您在受限模式下运行 godoc 无法要求向内核分配内存。无论如何,我认为错误消息有趣部分的关键部分是“无法恢复 arena 虚拟地址空间”,值得在 golang-nuts 邮件列表上提出您的问题。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go