为了回答您的第一个问题,您可以使用许多工具来监视内存使用情况,但是我不知道有任何应用程序可以“实时”将内存使用情况映射到线程。在应用程序中,您可以使用MemoryMXBean和MemoryPoolMXBeans监视内存使用情况,
要回答第二个问题:不,不是真的。除了捕获OOME通常不是一个好主意外,主要的问题是接收到异常的线程可能不是真正的罪魁祸首。OOME引发了发出最终分配请求的线程。但是,
其他
一些线程可能是占满了大部分内存的线程。另一个问题是,由于可以随时抛出OOME,因此它可能会抛出到应用程序中的某些关键代码中,从而使其处于残缺状态。长话短说,您几乎
总是 希望在收到OOME时重新启动应用程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)