Linux

限制linux記憶體記憶體

  • January 19, 2022

我知道空閒記憶體接近 0 並且所有記憶體都在記憶體中是可以的

但這會導致應用程序出現問題

我需要伺服器不記憶體這麼多並將記憶體釋放回空閒

我試著用sudo sysctl -w vm.vfs_cache_pressure=200

但是沒有效果

我有 centos 7.9 Linux 3.10.0-1160.49.1.el7.x86_64

             total        used        free        shared  buff/cache   available
Mem:           125G         77G         300M         21M         47G         47G
Swap:          8.0G          0B        8.0G

不能讓 Linux 不記憶體。該記憶體很容易回收,它被計入可用記憶體。

該主機沒有受到嚴重的記憶體壓力。如果是的話,可用的會更少,它可能會開始使用交換。

嘗試測量壓力失速資訊。這顯示了程序實際花費在等待記憶體(或 cpu 或 io)上的時間。如果您確實處於記憶體壓力之下,則故障處理或直接回收所花費的時間會增加計數器。不幸的是,它需要更新的核心,也許可以在測試系統上嘗試更新的核心或更新的發行版。

如果您仍然覺得需要做某事,請將應用程序更改為呼叫posix_fadvise,並在文件描述符上提供 POSIX_FADV_DONTNEED 的建議。不會再次訪問的免費文件,因為記憶體比底層儲存快數百到數千倍。

引用自:https://serverfault.com/questions/1090411