Linux中的buff/cache內存


我們用free、top等相關能夠查詢到當前內存的使用情況的命令時,總會有一個buff/cache讓我們很困惑。

buffer

即寫如磁盤時,先保存到磁盤緩沖區(buffer),然后再寫入到磁盤。

cache

即讀磁盤時,數據從磁盤讀出后,暫留在緩沖區(cache),為后續程序的使用做准備。

如何划分buffer/cache(已使用 or 空閑)

  1. 操作系統的角度:這塊內存確實被操作系統使用了
  2. 用戶角度:如果用戶要使用,這塊內存是可以很快被回收而被用戶空間程序使用,因此從用戶角度而言這塊內存應被划為空閑狀態

Linux這種機制的好處

這是Linux一種非常優秀的設計,目的就是為了提升磁盤IO的性能,從低速的塊設備上讀取的數據會暫時保存在內存中,即使數據在當時已經不再需要了,但在應用程序下一次訪問該數據時,它可以從內存中直接讀取,繞開了低速的塊設備,從而提高系統的整體性能。

為了提高系統性能和不浪費內存,linux把多的內存做了cache,以提高io速度.你的那些內存並沒有被占用。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM