golang:无法从Out Of Memory崩溃中恢复过来

时间:2015-06-01 15:25:14

标签: go

在某些情况下,调用append()会触发内存不足的恐慌,似乎append()本身不会返回nil。

我怎样才能避免这种恐慌情景并向我的用户显示“资源暂时不可用”?

致以最诚挚的问候,

1 个答案:

答案 0 :(得分:7)

你不能。

如果运行时无法为追加分配内存,则可能无法恢复或通信资源临时不可用"给用户。例如,GC可能需要分配以进行清理,或者调度程序可能正在尝试分配新线程。因为没有办法严格控制Go程序中的分配,所以没有办法优雅地处理内存不足。

所有OOM条件终止Go程序。