linux下檢視記憶體使用情況

2022-02-20 03:22:23 字數 2539 閱讀 5518

基本記憶體術語解讀

1> free -m

同樣是做為快取,buffers和cache又有啥區別呢?

於是又查了些資料,發現buffers實際應該是叫「緩衝」,其英文解釋是:a buffer is something that has yet to be "written" to disk.

就是說,buffers是將要寫入硬碟中的資料快取。

而cache的英文解釋:a cache is something that has been "read" from the disk and stored for later use.

就是說,cache是從硬碟或者儲存裝置讀進計算機後快取在記憶體中的資料。

想起看《計算機組成原理》的時候,有看到因特爾的cpu與記憶體之間有cache,這之間好像有什麼區別的樣子。

繼續查資料,發現了page cache 和 buffer cache。簡單說來,page cache用來快取檔案資料,buffer cache用來快取磁碟資料。在有檔案系統的情況下,對檔案操作,那麼資料會快取到page cache,如果直接採用dd等工具對磁碟進行讀寫,那麼資料會快取到buffer cache。 

對於cache和buffer,cached是cpu與記憶體間的,buffer是記憶體與磁碟間的,都是為了解決速度不對等的問題。

在free中,buffer 是buffer cache的記憶體,是塊裝置的讀寫緩衝區;cache是page cache的記憶體, 檔案系統的cache。

關於buffer與chche,這裡就不多說了,最後的鏈結5裡講得挺清楚了。

這裡還有乙個名詞,swap,即虛擬記憶體。當物理記憶體不夠用的時候,就要釋放掉一部分空間,以供當前執行程式使用。這些被釋放掉的記憶體的資料就被臨時儲存在虛擬記憶體中。但是,並非所有的資料都全被儲存,只有那些使用malloc或new生成的物件,他們在檔案中並沒有相應的「儲備」檔案,被稱為匿名記憶體資料,需要臨時地存進swap。故swap又稱匿名資料交換空間。在鏈結3中有其說明。

2> top

動態檢視系統的資源使用情況

檢視虛擬記憶體使用情況

引數解讀:

rthe number of processes waiting for run time.  

處於執行佇列中的核心執行緒數目(程序數)。

bthe number of processes in uninterruptible sleep.

置於等待佇列(等待資源、等待輸入/輸出)的核心執行緒數目。 處於block佇列中不可中斷的程序數

swpd

the amount of virtual memory used. 

可用的虛擬交換記憶體

free

the amount of idle memory.

空閒記憶體

buff

the amount of memory used as buffers.

已用緩衝數目

cache

the amount of memory used as cache.

已用快取數目

si���磁碟到記憶體的交換頁數目 (單位/s)

so從交換記憶體到磁碟的交換頁數目(單位/s)

biblocks received from a block device (blocks/s).

接收到塊裝置的塊數(塊/秒)

boblocks sent to a block device (blocks/s).

傳送到塊裝置的塊數(塊/秒)

inthe number of interrupts per second, including the clock.

每秒中斷數,包括時鐘中斷

csthe number of context switches per second.

每秒上下文切換數

ustime spent running non-kernel code. (user time, including nice time)

使用者時間,處於使用者模式的時間百分比

sytime spent running kernel code. (system time)

系統時間,處於核心模式的時間百分比

idtime spent idle. prior to linux 2.5.41, this includes io-wait time.

cpu空閒時間,空閒時間百分比

watime spent waiting for io. prior to linux 2.5.41, included in idle.

cpu 空閒時間,在此期間系統有未完成的磁碟/nfs i/o 請求

wttime stolen from a virtual machine. prior to linux 2.6.11, unknown.

Linux下檢視記憶體使用情況

測量乙個程序占用了多少記憶體,linux為我們提供了乙個很方便的方 法,proc目錄為我們提供了所有的資訊,實際上top等工具也通過 這裡來獲取相應的資訊。proc meminfo 機器的記憶體使用資訊 proc pid maps pid為程序號,顯示當前程序所占用的虛擬位址。proc pid st...

linux下檢視記憶體使用情況

在linux下檢視記憶體我們一般用free命令 free total used free shared buffers cached mem 3266180 3250004 16176 0 110652 2668236 buffers cache 471116 2795064 swap 204827...

linux下檢視記憶體使用情況

在linux下檢視記憶體我們一般用free命令 free total used free shared buffers cached mem 3266180 3250004 16176 0 110652 2668236 buffers cache 471116 2795064 swap 204827...