Linux下的buffer与cache
? ?最近在做監控項目的時候,有同事跟我說“你看Linux性能也不好嘛,內存使用率總是達到80%,我在windows下也沒這種狀況”,我跟他解釋,因為Linux系統,是盡可能的使用內存,內存不是拿來看的,是需要拿來用的,而對于windows,無論你的windows內存是多少,它還是會用硬盤交換文件來讀(即使內存空間還有很多空余),而對于Linux,在查看內存使用率的時候,只要沒有用到swap空間,我們就認為內存暫時不會緊缺。
?Linux平臺中頁面緩存的行為策略,即Linux將盡可能地利用更多的內存來轉送頁面緩存,換而言之:
無論在磁盤上讀取什么數據,只要該數據在頁面緩存上不存在,并且有空余的內存空間,就在頁面緩存中建立新的緩存(而不是替代舊的緩存)。
那Linux下的buffer與cache到底是什么?又有什么區別了,下面我們簡單做下介紹。
[root@kvm02 postfix]# free -m
? ? ? ? ? ? ? total ? ? ? ?used ? ? ? ?free ? ? ?shared ?buff/cache ? available
Mem: ? ? ? ? ? 3774 ? ? ? ? 375 ? ? ? ?2592 ? ? ? ? ? 9 ? ? ? ? 807 ? ? ? ?3106
Swap: ? ? ? ? ?3967 ? ? ? ? ? 0 ? ? ? ?3967
可以內存=free+buffers+cached
小結:
參考資料:https://www.zhihu.com/question/26190832
轉載于:https://blog.51cto.com/molewan/1924404
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的Linux下的buffer与cache的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Hadoop最常用的工具(SQL on
- 下一篇: 如何在 Linux 中启用 Shell