Linux內存使用
?
??? 一直對Linux的內存使用情況有一些困惑,主要是各個屬性的內存量不是很理解,到底哪部分是屬于正在使用的,那部分是系統緩存的。所以這次專門簡單得了解了一下,雖然是一個很小的知識點,但是對于理解系統還有有一些好處的,所以記下來:
?
?
free命令看一下內存使用狀況:
?
[root@prdmis-db /]# free
???????????? total?????? used?????? free???? shared??? buffers???? cached
Mem:?????? 8175356???? 756824??? 7418532????????? 0????? 94828???? 455868
-/+ buffers/cache:???? 206128??? 7969228
Swap:????? 2031608????????? 0??? 2031608
?
?
?
逐個解釋一下這個表里的數據含義:
?
??? 1、Mem:表示對物理內存的使用情況統計
??????? * total:物理內存總量(即機器內存條的大小)
??????? * used:總共分配出去的內存量,包括實際使用和分給緩存(buffers or cache)
??????? * free:尚未分配的物理內存
??????? * shared:共享內存(普通系統都不會用到)
??????? * buffers:系統已分配,但尚未使用的buffers數量
??????? * cached:系統已分配,但尚未使用的cache數量
?
??? 2、-/+ buffers/cache:這個表示物理內存的緩存情況統計
??????? * used:實際使用的buffers與cache總量(即實際使用的內存總量)
??????? * free:未被使用的buffers與cache總量 加 未分配內存數 (即系統系統實際可用內存)
??? 3、Swap:表示硬盤上的交換分區使用情況
??????? * total:實際分配的交換分區大小
??????? * used:實際使用的交換分區大小
??????? * free:實際剩余的交換分區大小
?
?
總結一下:
?
??? 1、
total1 = used1 + free1total1 = used2 + free2
??? 2、used1 = buffers1 + cached1 + used2
??? 3、free2 = buffers1 + cached1 + free1
??? 4、平時需要了解的,就是used2和free2
?
?
?
關于buffer與cache的區別:
??? A buffer is something that has yet to be "written" to disk.
??? A cache is something that has been "read" from the disk and stored for later use.
?
?
?