記憶體及虛擬記憶體相關的自我理解

2021-10-12 19:04:13 字數 835 閱讀 9404

1. 電腦中所執行的程式均需經由記憶體執行。

2. 當記憶體不足時,拿出一部分硬碟空間來充當記憶體使用,這部分空間即稱為虛擬記憶體

3. rss指的是常駐記憶體,我的理解是確確實實正在被該程序使用的記憶體,即包含了共享的記憶體以及把被交換的記憶體(swap)剔除掉了。

最終理解↓

程序所writeable的記憶體 =

rss = }

4. xms xmx 限制的應該是指上述所說的程序所writeable/private的記憶體。

所以top命令查回來的rss有可能會比xms所限制的還要少。

用pmap -x [pid]查回來的writeable∈[xms,xmx]

轉化成例項理解:

1. 乙個宿舍六個人,每個人交100塊宿費,那麼這600塊就是共享的(shared)

2. 我作為宿舍的一員,我擁有1000塊,交了100塊宿費之後,手頭上還有900塊。

3. 宿友a不夠錢花了,我從900塊裡面借出200塊給他用,他給我寫了張借條(虛擬記憶體)。

現在我就有700塊現金,200塊借條,以及600塊共享的宿費。

當我要花950塊的時候,我可以拿自己的700塊+共享250塊 = rss

屬於我名下的有1000塊,現金700+借條200+共享出去的100 = writeable/private

另外還有個分配給程序的虛擬記憶體,我的理解是存在銀行的錢,非現金。每當要用的時候,還得先去取錢(排程)。

借條200也是非現金,要想用還得先讓他還錢(排程,page-in)。但宿費600是現金,我手頭的700是現金。

理解虛擬記憶體

參考 理解虛擬記憶體 linux之旅 關於虛擬記憶體 linux中關於swap 虛擬記憶體和page的區別 在解釋第乙個問題之前,先說明一下計算機記憶體管理的中的四個名詞 虛擬記憶體,虛擬記憶體位址,物理記憶體,物理記憶體位址。先說說為什麼會有虛 擬記憶體和物理記憶體的區別。正在執行的乙個程序,他所...

物理記憶體和虛擬記憶體的理解

說到記憶體不得不提一下cpu,cpu分為32位和64位,32位的最大定址空間是4g。程序如果直接使用物理記憶體,會出現三個問題 1.安全性,惡意程式會破壞其他程序。2.效率,如果有新的程序產生,而物理記憶體不夠,則必須將記憶體中一些舊的程式中的資料拷貝到硬碟,將新的程序所需要的資料從硬碟拷貝到記憶體...

記憶體管理 物理記憶體 虛擬記憶體

記憶體管理 物理記憶體 pc上有三條匯流排,分別是資料匯流排 位址匯流排和控制匯流排。32位的cpu的定址能力為4gb 2 32 個位元組。使用者最多 可以使用4gb的真實的物理記憶體。記憶體管理 虛擬記憶體 windows的所有程式 包括ring0層和ring3層的程式 可以操作的都是虛擬記憶體。...