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

Linux的memcg殘留問題導致系統卡頓或內存不足的解決方案

本文介紹了Linux的memcg殘留問題導致系統卡頓或內存不足的原因及解決方案。

問題現象

系統在長時間運行后出現卡頓或內存不足等問題,同時也會出現大量不可回收的unreclaimable slabpercpu內核內存占用。盡管memcg的數量較大,但在/sys/fs/cgroup/memory/目錄下的文件夾數量卻相對較少。

問題原因

Linux的memcg子系統中的kmem存在設計缺陷。當memcg kmem功能被啟用時,如果用戶刪除該memcg,內核內部某些結構數據仍會保留,這將導致系統在長時間運行后出現卡頓或內存不足等問題。

符合以下條件的系統會出現此問題。

  • Alibaba Cloud Linux 3(內核5.10.134-12.2之前版本)。

  • Alibaba Cloud Linux 2(內核4.19.91-26.6之前版本)。

  • 其它主流Linux發行版本。

解決方案

  1. 禁用memcg kmem功能。

    sudo grubby --update-kernel=ALL --args='cgroup.memory=nokmem'
  2. 重啟系統使配置生效。

    sudo reboot
  3. 查看執行結果。

    cat /proc/cmdline

    結果如下圖所示,表示禁用memcg kmem功能成功。

    image

  4. 若在執行上述步驟后問題依然存在,則執行以下步驟,嘗試通過memcg的周期性后臺回收功能來解決該問題。

    重要
    • 此功能僅適用于Alibaba Cloud Linux系統。

    • 此功能開啟后,會帶來一定的CPU資源開銷,根據實際情況評估后確定是否開啟,如有問題請關閉后臺回收功能。

    • 開啟后臺回收功能。

      sudo sh -c 'echo 1 > /sys/kernel/mm/memcg_reaper/reap_background'
    • 關閉后臺回收功能。

      sudo sh -c 'echo 0 > /sys/kernel/mm/memcg_reaper/reap_background'