日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

Alibaba Cloud Linux 3中容器里的內存使用高于宿主機系統中的內存

Alibaba Cloud Linux 3系統中,通過free命令查看容器里的內存使用高于宿主機系統中的內存。本文介紹這種情況的可能原因和解決方案。

問題描述

查看Alibaba Cloud Linux 3鏡像的容器中的內存使用,發現其高于Alibaba Cloud Linux 3系統宿主機的內存,該情況與理論預期不符。

問題原因

當前使用的內存計算公式為mem_used = kb_main_total - kb_main_free - kb_main_cached - kb_main_buffers,由于沒有正確處理共享內存(shmem),導致容器中的內存使用計算不準確。具體原因說明:

當前內存計算公式說明

  • mem_used:系統中實際使用的內存大小。

  • kb_main_total:系統中所有可用的內存大小。

  • kb_main_free:系統中未被使用的空閑內存大小。

  • kb_main_cached:系統中被緩存的內存大小。通常用于加速數據訪問,例如文件系統緩存。

  • kb_main_buffers:系統中被用作緩沖區的內存大小。通常用于臨時存儲數據,例如網絡數據包。

共享內存(shmem)作為一種內存區域,具有匿名頁(Anonymous Pages)和Page Cache的性質,在未配置Swap空間時無法被當作閑置內存回收,應該將shmem視為已使用的內存,而不是閑置內存,因此計算mem_used時,不應該被減去,這樣可以更準確地反映系統中實際使用的內存情況。

解決方案

在宿主機上,執行以下命令,將procps-ng版本更新至3.3.15-14.0.3.al8或更高版本。

sudo yum update procps-ng 
說明

通過更新procps-ng版本使內存計算公式調整生效,確保上述問題已修復。如需了解procps的更多信息,請參見procps-ng>procps。