全部產品
Search
文件中心

:如何處理Linux執行個體中的OOM問題?

更新時間:Jul 01, 2025

本文介紹如何識別、分析並解決Linux執行個體中的OOM問題。

背景資訊

OOM(Out of Memory)是Linux核心在系統記憶體嚴重不足時,為了保證系統穩定性而強行釋放進程記憶體的一種機制。當系統記憶體資源不足時,日誌中可能會出現大量的Out of Memory資訊,這會導致系統無法為程式或進程分配足夠的記憶體空間,從而影響程式的正常運行或進程的資料讀寫。

可能原因

如果您在Linux執行個體上運行程式時,頻繁發生OOM,可能是以下原因。

  • Linux執行個體的配置過低,無法滿足程式運行所需的記憶體資源,引發OOM。

  • 應用程式代碼對記憶體的使用不當,引發OOM。

排查步驟

關於OOM的問題,請參考以下步驟進行排查:

  1. 查看OOM相關日誌。

    通常情況下,你可以運行如下命令,以查看Linux系統日誌。

    sudo less /var/log/messages
    sudo less /var/log/syslog

    在日誌中通過oom或者kill作為關鍵字進行搜尋,以查看OOM問題的相關日誌資訊。如果是業務應用導致的OOM事件,您可以通過業務應用日誌進一步定位導致OOM問題的原因。

  2. 查看當前系統記憶體使用量率情況。

    1. 您可以使用top或者free命令查看Linux執行個體記憶體使用量率情況,具體操作,請參見Linux執行個體記憶體使用量率較高問題的排查與處理

    2. 您也可以使用CloudMonitor來查看主機的記憶體指標資訊,具體操作,請參見作業系統監控

處理建議

根據您排查的結果,可以選擇對應的處理方案。

問題原因

處理建議

Linux執行個體的配置過低,無法滿足程式運行所需的記憶體資源。

升級執行個體記憶體配置。

警告

更改執行個體規格的過程中,您需要停止並重新啟動ECS執行個體,建議您在非業務高峰期時執行該操作,減少對您業務造成的影響。

應用程式代碼對記憶體的使用不當。

最佳化應用程式代碼,如對批量查詢請求進行分頁等。

相關文檔