對 buff/cache 和可用內存指標感到困惑

對 buff/cache 和可用內存指標感到困惑

free我對Linux 中命令提供的記憶體指標完全感到困惑。目前我收到以下指標:

              total        used        free      shared  buff/cache   available
Mem:          1.9Gi       624Mi       759Mi       8.0Mi       603Mi       1.2Gi
  1. 顯示759Mi可用內存,相對較大。它被定義為未使用的內存,可用內存被定義為可用於啟動新應用程式而無需交換的內存。可用性如何大於免費?未使用的部分是可用記憶體嗎?
  2. buff/快取為 603Mi。據我了解,它也計入可用記憶體。但如何呢?假設我想啟動一個需要 1.2Gi 記憶體(全部可用記憶體)的應用程序,那麼當前 buff/cache 中的資料會發生什麼情況?它們從 RAM 中清除了嗎?在這種情況下,系統如何在沒有剩餘記憶體的情況下繼續進行緩衝和快取?

答案1

Linuxatemyram.com對這樣的人來說是一本很好的讀物。但基本上你是對的,可用的 RAM 會立即釋放。但正如您所指出的,現在存在緩衝和快取的問題。這可能會對伺服器的效能產生負面影響,也可能不會。

到目前為止,除了自己進行測試之外,我個人不明白如何準確地規劃 RAM 需求。

相關內容