內存相關

在linux查看內存用量時肯定要用到free命令,命令的使用簡單,而顯示結果的需要解釋一下:

查看系統上的物理內存和swap分區的使用情況,默認單位是字節,-m以M爲單位顯示

image.png

tocal總大小

buffer和cached,緩衝和緩存

用池來緩衝大河對小河的衝擊,這個池就是緩衝,目的是爲了速率不平衡的設備傳遞信息用的。

一個設備送數據特別慢,另一個設備拿特別快,找一個池子把經常的數據先放到池子裏,用的時候能夠快速的拿,緩存的目的是數據的重複使用。

在操作系統當中我們可以把buffer理解成爲裏面存儲的是元數據,比如當我們訪問的是/var/log/message的時候,先從根開始查找比較麻煩,爲了下一次用的時候比較快速,就可以把第一次找到的元數據先放到buffer當中,那麼下一次使用的時候就可以直接從buffer裏面得到目標文件的地址不用從根開始查找了。cached就是第一次查找完數據就放到到內存當中,等到下一次用的時候不用再去硬盤當中去調用,直接在內存當中進行調用即可,這兩段空間完成可以清除,是爲了加速性能存在的。

好了,下面我們解釋一下上圖的的意思,total指的是總大小,used指的是已經使用的空間,但是請注意,這裏說的已經使用的空間是真正已經使用的空間和可以被清除的buffer和cache的空間,也就是說這段空間內包括了buffer和cache的空間,但是我們在上面提到過,buffer和cache是可以被清除的,因而不能作數,所以,雖然明面上已經使用了416M,但是要減去53(buffer)和(cache)195纔是真正的已經使用的空間:416-53-195=168M,那麼168就是實際上真正已經使用的空間,其實是這個168就是第二行的166,少去的2M被損耗了唄!!

還有第三個字段是空間我多少,上圖中顯示是3648,但是這3400是不包括buffer和cache的,所以當把buffer和cahe清除了之後,真正的空閒空間還有:3648+53+195=3648,約等於3649唄。

最後一行,顯示swap沒有用,這纔是最好的結果,因爲linux只有物理內存夠用,就不會使用swap分區,所以沒有使用就說明物理內存足夠使用。而windows則不同,windows可以一開機即使物理內存夠用,也會佔用虛擬內存。

下圖是centos7的free命令,centos7比centos6要好看許多:

image.png

一共有4.3G,已經用了204M,還有3.7G,共享8.9M,緩存和緩存387M,可用有3.8G

free算上了緩存,而available的沒有算上緩存。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章