檢視Linux伺服器的記憶體使用情況

2021-06-02 21:23:04 字數 2337 閱讀 5456

檢視linux伺服器的記憶體使用情況

《構建高可用linux伺服器》第1章linux伺服器構建基礎,本章從centos5.5 x86_64的安裝、網路配置、日誌分析、效能及狀態監控、優化及虛擬化等方面對linux硬體進行了全方位的說明,這些都是構建高效能及高可用linux系統的基礎,希望大家能夠掌握此章內容。本節為大家介紹檢視linux伺服器的記憶體使用情況。

ad:

1.2.2 檢視linux伺服器的記憶體使用情況

檢視linux伺服器下的記憶體使用情況,可以使用命令free -m。注意此命令只在linux下有效,在freebsd中沒有此命令。命令如下所示:

used:已經使用的記憶體數

free:空閒的記憶體數

shared:多個程序共享的記憶體總額

-buffers/cache:(已用)的記憶體數,即used-buffers-cached

+buffers/cache:(可用)的記憶體數,即free+buffers+cached

得出結論:

可用記憶體的計算公式為:

可用記憶體=free+buffers+cached,即2551mb+268mb+917mb=3737mb

很久以前在筆記本上用ubuntu8.04時就覺得linux管理記憶體的機制非常優秀,簡而言之:linux的記憶體是拿來用的,而不是拿來看的。我與乙個朋友**linux的使用情況時,他問我為什麼linux使用的記憶體這麼高。他機器上1gb的記憶體free才232mb,而windows xp才用了200mb不到的樣子。這其實是被linux的free命令之表象迷惑了,linux的記憶體使用是很有講究的。還是舉例說明,如下的free命令所顯示的是當前記憶體的使用情況,-m的意思是用m個位元組來顯示內容,我們來一起看看。

在第一部分mem行中有如下引數。

total:記憶體總數,即1002mb

used:已經使用的記憶體數,即769mb

free:空閒的記憶體數,即232mb

shared:當前已經廢棄不用,總是0

buffers buffer:快取記憶體數,即62mb

cached page:快取記憶體數,即421mb

其中,記憶體總數與已使用記憶體數和空閒記憶體數的關係是:

total(1002m)=used(769m)+free(232m)

在第二部分內容(-/+buffers/cache)中各引數如下所示。

(-buffers/cache):used記憶體數,即286mb(指的是第一部分mem行中的used-buffers-cached)。

(+buffers/cache):free記憶體數,即715mb(指的是第一部分mem行中的free+buffers+cached)。

可見-buffers/cache反映的是被程式實實在在用掉的記憶體,而+buffers/cache反映的是可以挪用的記憶體總數。

第三部分是指交換(swap)分割槽,大家應該都明白,這裡就不再講了。

有可能大家看了上面的解釋還是不太明白。比如:第一部分(mem)與第二部分(-/+buffers/cache)的結果有關,used和free為什麼這麼奇怪?其實我們可以從兩個方面來分析。對作業系統來講這兩項是mem的引數,buffers/cached都屬於被使用,所以它認為free只有232mb;對應用程式來講+buffers/cached等同於可用的記憶體,因為buffer/cached可提高程式執行的效能,當程式使用記憶體時,buffer/cached很快就會被使用。所以從應用的角度來看,應以(-/+buffers/cache)的free和used為主,即我們主要看與它相關的free和used就可以了。另外告訴大家一些常識,為了提高磁碟和記憶體的訪問效率,對linux做了很多精心的設計,除了對dentry進行快取(用於vfs、加速檔案路徑名到inode的轉換)外,還採取了兩種主要cache方式:buffer cache和page cache。前者用於針對磁碟塊的讀寫,後者用於針對檔案inode的讀寫。這些cache能有效地縮短i/o系統呼叫(比如read、write、getdents)的時間。

在linux中,記憶體是拿來用的,不是拿來看的。而在windows中,無論你的真實物理記憶體有多少,它都會用硬碟交換檔案來讀,即使是記憶體還有一大部分。這也就是windows常常提示虛擬空間不足的原因。可以想見,硬碟怎麼會快過記憶體,所以我們在觀察linux的記憶體使用情況時,只要沒發現用swap的交換空間,就不用擔心自己的記憶體太少。如果常常看到swap用了很多,那麼你就要考慮加物理記憶體了。這也是在linux伺服器上看記憶體是否夠用的標準。

檢視Linux伺服器記憶體 CPU 顯示卡使用情況

檢視記憶體使用情況 使用命令 free m 大致結果類似下圖 記憶體占用情況 引數解釋 mem行 單位均為m total 記憶體總數 used 已使用記憶體數 free 空閒記憶體數 shared 當前廢棄不用 buffers 快取記憶體數 buffer cached 快取內舒數 page buff...

Linux 檢視伺服器記憶體使用情況

1 free命令 free m total used free shared buffers cached mem 1526 182 1344 0 16 99 buffers cache 65 1460 swap 3071 0 3071 很清晰明白的顯示出了總記憶體多少,已使用多少,還剩下多少。2 ...

檢視伺服器CPU記憶體

檢視linux系統的記憶體有很多方法,以下為總結版本 1 記憶體 cat proc meminfo cpu cat proc cpuinfo 2 檢視記憶體使用情況!使用命令 free m 3 檢視cpu使用情況 使用命令 top 基本上使用上述三個命令就可以解決你的問題,以下是對這三個命令的詳細解...