此问题已经在这里有了答案:
golang1.11可以编译MIPS程序,但是运行时的虚拟内存达到480MB,但是物理内存只有128MB。这是怎么发生的?对于每个Go程序都是如此。
这只是程序使用的地址空间量。地址空间利用率根本不会转化为内存消耗。从技术上讲,可以在整个地址空间上映射相同的内存区域。即您实际上可能只使用一页内存(约4kB),并在137438953472kB的用户区地址空间上全部涂上内存,您拥有当前可用的64位CPU(如果使用32位系统,则为2097152kB)。