不合理的記憶體使用

不合理的記憶體使用

我在 CentOS 上運行一個多進程 python 程式。該程式不需要大量記憶體。問題是我的 64GB 記憶體機器幾乎記憶體不足,無法執行其他運算密集型任務。有人遇到同樣的問題嗎?在此輸入影像描述

更新:

經過 %MEM 排序處理後,部分輸出如下:

21922 haoyu     20   0 12.457g 1.204g      0 T   0.0  1.9   0:00.02 python
21871 haoyu     20   0 12.433g 1.204g      0 T   0.0  1.9   0:00.02 python
21872 haoyu     20   0 12.433g 1.204g      0 T   0.0  1.9   0:00.02 python
21895 haoyu     20   0 12.433g 1.204g      0 T   0.0  1.9   0:00.02 python
21896 haoyu     20   0 12.433g 1.204g      0 T   0.0  1.9   0:00.01 python
21897 haoyu     20   0 12.433g 1.204g      0 T   0.0  1.9   0:00.03 python
21898 haoyu     20   0 12.433g 1.204g      0 T   0.0  1.9   0:00.01 python
21899 haoyu     20   0 12.433g 1.204g      0 T   0.0  1.9   0:00.02 python
21900 haoyu     20   0 12.433g 1.204g      0 T   0.0  1.9   0:00.01 python

問題可能是我的多進程Python程式中的一些錯誤,看起來子進程沒有正確關閉並且仍然佔用一些記憶體。由於其中許多目前未積極使用 CPU,因此當應用不帶選項的 top 命令時,我看不到它們。

答案1

在您所附的影像中,您有按 CPU 使用率而不是記憶體使用率排序的進程/程序。

看起來您執行的 python 程式僅使用 0.4% 的記憶體(以及 100% 的 CPU)。可能另一個進程/程序正在使用您伺服器上的記憶體。

請執行命令,該命令將產生按記憶體使用情況排序的程式清單:

top -o %MEM -b -n 1 | head -20

並查看帶有進程/程序名稱的最後一列。

它應該給你一個問題的答案,您的機器上的內存在使用什麼?

相關內容