当我在 cmd 上键入 godoc 时,我使用的是 Windows 7 32 位企业版,它给了我以下异常:运行时:在 malloc 堆初始化之前发生恐慌致命错误:运行时:无法恢复 arena 虚拟地址空间GO 版本:go1.2rc5.windows-386.msi操作系统:Windows 7 Enterprise 32 位
2 回答
慕后森
TA贡献1802条经验 获得超5个赞
检查您是否有足够的空闲(物理)RAM,没有虚拟地址空间限制,并尝试以管理员权限重新启动程序(有报告称 UAC乱七八糟)。如果这没有帮助,请报告问题。
错误意味着什么
致命错误:运行时:无法恢复 arena 虚拟地址空间
Go 在虚拟地址空间中保留一个内存区域。该内存区域用于 Gos 内部内存分配,并提前保留,以便该区域是连续的。该空间尚未实际使用(在 RAM 或磁盘中)。仅保留地址范围。
由于运行时当前不处理内存限制,它总是尝试在 32 位机器上保留768MB的虚拟地址空间。
即使保留内存也有成本,您的操作系统(Windows)必须分配内存来保存分配信息,即Virtual Address Descriptor。如果您没有足够的内存来保存此描述符,则保留将失败。另一方面,可能只是虚拟地址空间无法容纳 768MB 的连续空间而失败(例如由于碎片)。
狐的传说
TA贡献1804条经验 获得超3个赞
我从来没有用windows作为开发站,所以我只是在这里做一些假设。
我假设您的系统是否没有足够的一次性 ram 来运行 godoc,或者您在受限模式下运行 godoc 无法要求向内核分配内存。
无论如何,我认为错误消息有趣部分的关键部分是“无法恢复 arena 虚拟地址空间”,值得在 golang-nuts 邮件列表上提出您的问题。
- 2 回答
- 0 关注
- 181 浏览
添加回答
举报
0/150
提交
取消