Out of Memory(OOM)是Linux內核在系統內存嚴重不足時,強行釋放進程內存的一種機制。出現大量的Out of Memory信息可能是因為系統內存資源不足,系統無法為程序或者進程分配足夠的內存空間,從而導致程序無法正常運行或者進程無法讀寫數據。本文主要介紹當您的Linux實例存在OOM問題的處理方法。
解決方案
請參考以下步驟進行排查:
請參考以下信息,嘗試分析發生OOM的根本原因。
要獲取的信息
說明
OOM發生的時間和頻率
通過Linux系統日志或業務應用日志查看OOM發生的時間和頻率。
通過Linux系統日志查看。
cat /var/log/message
您的業務應用日志。
系統負載情況
推薦使用云監控查詢您的ECS實例負載信息。
負載查詢工具
如果您沒有使用云監控產品,您可以通過
free
、top
或sar
命令查看負載信息。更多信息,請參見Linux實例負載高問題排查和異常處理。
您的業務負載情況
根據OOM發生的時間,并結合您的業務負載情況檢查您的業務應用日志中觸發OOM的原因。
OOM發生時的應用日志
根據OOM原因進行處理。
如果當前Linux實例是因為內存不足觸發OOM,您可以升級實例內存配置。
說明注意:升級配置需要重啟實例,請在合適的時間段升級內存配置。
您的業務程序存在缺陷,您可以根據業務應用日志中出現的問題優化您的業務代碼。
繼續觀察,確認OOM問題不再出現。
文檔內容是否對您有幫助?