1. 程式人生 > >OOM異常原因幾種型別分析

OOM異常原因幾種型別分析

1.檔案描述符(fd)數目超限,即proc/pid/fd下檔案數目突破/proc/pid/limits中的限制。可能的發生場景有:
2.短時間內大量請求導致socket的fd數激增,大量(重複)開啟檔案等
3.執行緒數超限,即proc/pid/status中記錄的執行緒數(threads項)突破/proc/sys/kernel/threads-max中規定的最大執行緒數。可能的發生場景有:
app內多執行緒使用不合理,如多個不共享執行緒池的OKhttpclient等等
4.傳統的java堆記憶體超限,即申請堆記憶體大小超過了 Runtime.getRuntime().maxMemory()