当我在cmd上输入godoc时,我正在使用Windows 7 32位企业,它给了我以下异常:
运行时:在malloc堆初始化之前发生混乱 致命错误:运行时:无法反响竞技场虚拟地址空间
GO版:go1.2rc5.windows-386.msi
操作系统:Windows 7企业版32位
答案 0 :(得分:2)
检查是否有足够的空闲(物理)RAM,没有虚拟地址空间限制 尝试使用管理员权限重新启动程序(有reports of UAC搞乱)。如果这没有用,report an issue。
致命错误:运行时:无法反响竞技场虚拟地址空间
Go在虚拟地址空间中保留一个内存区域。 该存储区域用于Gos内部存储器分配并提前保留 该地区是连续的。这个空间是not yet used physically (in RAM or disk)。 只保留地址范围。
由于运行时当前not handle memory limits,它总是会尝试 在32位计算机上保留768MB虚拟地址空间。
即使预留内存也有成本,你的操作系统(windows)必须分配内存来保存 分配信息,Virtual Address Descriptor。 如果您没有足够的内存来保存此描述符,则预留将失败。 另一方面,可能只是虚拟地址空间不能容纳768MB 连续的空间和失败(例如由于碎片)。
答案 1 :(得分:0)
我从未将Windows用作开发站,所以我只是在这里做出假设。
我假设您的系统是否没有足够的一次性ram来运行godoc,或者您在受限模式下运行godoc而无法向内核请求内存分配。
无论如何,我认为错误信息的有趣部分的关键部分是“无法反复竞技场虚拟地址空间”,并且值得在golang-nuts邮件列表中提出您的问题。