Linux效能監測:記憶體篇
前言
記憶體是評判伺服器的一個非常重要的指標。記憶體的多少,可能會直接影響著伺服器的整體效能。所以,在Linux效能監測這個系列中,我這裡也單獨將記憶體整理出來進行總結。
實體記憶體和虛擬記憶體
說到記憶體,我們都會說到實體記憶體和虛擬記憶體的。實體記憶體就是真實的硬體裝置,也就是咱們的記憶體條;虛擬記憶體(Virtual Memory)是把計算機的記憶體空間擴充套件到硬碟,實體記憶體(RAM)和硬碟的一部分空間(SWAP)組合在一起作為虛擬記憶體為計算機提供了一個連貫的虛擬記憶體空間,好處是我們擁有的記憶體“變多了”,可以執行更多、更大的程式,壞處是把部分硬碟當記憶體用整體效能受到影響,硬碟讀寫速度要比記憶體慢幾個數量級,並且RAM和SWAP之間的交換增加了系統的負擔。
我們需要記住的一點是Linux會在實體記憶體不足時,使用交換分割槽的虛擬記憶體。
free
命令詳解
free
命令可以顯示Linux系統中空閒的、已用的實體記憶體及swap記憶體,及被核心使用的buffer。在Linux系統監控的工具中,free
命令是最經常使用的命令之一。雖然在《Linux top命令詳解》和《Linux vmstat命令詳解》這兩篇文章中也有詳細的說記憶體和效能相關的內容,但是很多時候,我們還是會先敲上free -m
先看看記憶體資訊。所以,我們需要會用free
命令,以及可以看到free
命令輸出的資訊。
free
命令習慣上有以下幾種形式:
free -k # 以KB為單位顯示記憶體使用情況 free -m # 以MB為單位顯示記憶體使用情況 free -g # 以GB為單位顯示記憶體使用情況 free -h # 以人類友好的方式顯示記憶體使用情況
當我們輸入free -m
時,系統就會輸出以下內容:
[root@Test_MC]# free -m totalusedfreesharedbufferscached Mem:321683011920480443811097 -/+ buffers/cache:1458317584 Swap:31996189930097
現在對free
命令輸出的每行進行詳細的解釋:
total used free shared buffers cached - buffers/cached + buffers/cached Swap
我們通過free
命令檢視機器空閒記憶體時,會發現free
的值很小。這主要是因為,在Linux系統中有這麼一種思想,記憶體不用白不用,因此它儘可能的cache和buffer一些資料,以方便下次使用。但實際上這些記憶體也是可以立刻拿來使用的。
在使用free
命令時,我們都是需要重點關注- buffers/cached
和+ buffers/cached
。
-
- buffers/cached
,即used - buffers/cached
,表示應用程式實際使用的記憶體 -
+ buffers/cached
,即free + buffers/cached
,表示理論上都可以被使用的記憶體
可見-buffers/cache
反映的是被程式實實在在吃掉的記憶體,而+buffers/cache
反映的是可以挪用的記憶體總數。
總結
OK!總結完畢!歡迎來到2019年~
果凍想,認真玩技術的地方。
2019年1月4日,於內蒙古呼和浩特。