Linux內存解讀

1.free -m命令緩存

[root@crawler ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          3823        525       3297          0         29        154
-/+ buffers/cache:        341       3481
Swap:          199        121         78

  [1]第一行:total:總的物理內存。used:已經使用的物理內存。free:剩餘的物理內存。buffers :buffers佔用的物理內存。cached :cached佔用的物理內存。app

      第二行:used:應用程序使用的物理內存。free:應用程序可用的物理內存。性能

      第三行:total:swap總內存。used:已經使用的swap內存。free:剩餘的swap內存。spa

  [2]buffers和cached內存是操做系統爲了提升系統性能,系統臨時佔用的內存,若是應用程序內存不夠用了,能夠隨時釋放,因此第二行的意思就是對應用程序來講的已用內存和可用內存,繼續解釋就是:操作系統

                     total       used      free     shared    buffers     cached
Mem:                 3823        525       3297          0         29        154
-(buffers/cache):                341
+(buffers/cache):                          3481
Swap:                199         121         78

  [3]總之,第一行展現的是系統的內存使用狀況,第二行就是對應用程序來講的內存使用狀況,第三行是交換區內存的使用狀況。code

2.swap內存blog

  [1]swap就是交換區的意思,swap內存佔用的是磁盤空間,當物理內存不夠用的時候,能夠把物理內存先放到swap內存裏面,後面能夠再取回到物理內存裏面。內存

  [2]設置使用swap的時機:/proc/sys/vm/swappiness,這裏面的值(默認是60)就是當物理內存的使用百分比超過這個值時,便開始使用swap內存。it

3.buffers和cached內存class

  [1]buffer和cache是爲了提升系統性能,系統申請的內存。

  [2]buffer:緩衝區的意思。例如程序向磁盤寫入100次數據,系統能夠把每10次的數據存到buffer裏面,而後一次性寫到磁盤,起到了緩衝的做用。

      cache:緩存的意思。例如從磁盤讀了一些數據,系統能夠把這些數據存到cache裏面,下次須要讀相同數據時,就不用再次讀磁盤了,起到了緩存的做用。

  [3]通常狀況下,buffer是用來寫緩衝,而cache是用來讀緩存,即write-buffer和read-cache,固然buffer和cache均可以混用,看本身的狀況使用。固然上面說的這些內存cache和buffer都是操做系統的行爲,還要看操做系統如何實現。

相關文章
相關標籤/搜索