free
我對Linux 中命令提供的記憶體指標完全感到困惑。目前我收到以下指標:
total used free shared buff/cache available
Mem: 1.9Gi 624Mi 759Mi 8.0Mi 603Mi 1.2Gi
- 顯示759Mi可用內存,相對較大。它被定義為未使用的內存,可用內存被定義為可用於啟動新應用程式而無需交換的內存。可用性如何大於免費?未使用的部分是可用記憶體嗎?
- buff/快取為 603Mi。據我了解,它也計入可用記憶體。但如何呢?假設我想啟動一個需要 1.2Gi 記憶體(全部可用記憶體)的應用程序,那麼當前 buff/cache 中的資料會發生什麼情況?它們從 RAM 中清除了嗎?在這種情況下,系統如何在沒有剩餘記憶體的情況下繼續進行緩衝和快取?
答案1
Linuxatemyram.com對這樣的人來說是一本很好的讀物。但基本上你是對的,可用的 RAM 會立即釋放。但正如您所指出的,現在存在緩衝和快取的問題。這可能會對伺服器的效能產生負面影響,也可能不會。
到目前為止,除了自己進行測試之外,我個人不明白如何準確地規劃 RAM 需求。