linux中vsz和rss有什么區(qū)別
Linux中vsz和rss的區(qū)別:1、rss是“Resident Set Size”的縮寫,表示常駐內(nèi)存大小,而vsz是“Virtual Memory Size”的縮寫,表示虛擬內(nèi)存大?。?、rss用于表示進(jìn)程使用了多少內(nèi)存,并且不包含已經(jīng)被換出的內(nèi)存,而vsz包含了進(jìn)程所能訪問的所有內(nèi)存,包括了被換出的內(nèi)存。
程序員必備接口測試調(diào)試工具:立即使用
Apipost = Postman + Swagger + Mock + Jmeter
Api設(shè)計(jì)、調(diào)試、文檔、自動(dòng)化測試工具
后端、前端、測試,同時(shí)在線協(xié)作,內(nèi)容實(shí)時(shí)同步
本教程操作環(huán)境:linux7.3系統(tǒng)、Dell G3電腦。
linux中vsz和rss有什么區(qū)別
RSS是Resident Set Size(常駐內(nèi)存大?。┑目s寫,用于表示進(jìn)程使用了多少內(nèi)存(RAM中的物理內(nèi)存),RSS不包含已經(jīng)被換出的內(nèi)存。RSS包含了它所鏈接的動(dòng)態(tài)庫并且被加載到物理內(nèi)存中的內(nèi)存。RSS還包含棧內(nèi)存和堆內(nèi)存。
VSZ是Virtual Memory Size(虛擬內(nèi)存大小)的縮寫。它包含了進(jìn)程所能訪問的所有內(nèi)存,包含了被換出的內(nèi)存,被分配但是還沒有被使用的內(nèi)存,以及動(dòng)態(tài)庫中的內(nèi)存。
示例如下
假設(shè)進(jìn)程A的二進(jìn)制文件是500K,并且鏈接了一個(gè)2500K的動(dòng)態(tài)庫,堆和棧共使用了200K,其中100K在內(nèi)存中(剩下的被換出或者不再被使用),一共加載了動(dòng)態(tài)庫中的1000K內(nèi)容以及二進(jìn)制文件中的400K內(nèi)容至內(nèi)存中,那么:
RSS: 400K + 1000K + 100K = 1500K
VSZ: 500K + 2500K + 200K = 3200K
登錄后復(fù)制
由于部分內(nèi)存是共享的,被多個(gè)進(jìn)程使用,所以如果將所有進(jìn)程的RSS值加起來可能會(huì)大于系統(tǒng)的內(nèi)存總量。
申請過的內(nèi)存如果程序沒有實(shí)際使用,則可能不顯示在RSS里。比如說一個(gè)程序,預(yù)先申請了一大批內(nèi)存,過了一段時(shí)間才使用,你會(huì)發(fā)現(xiàn)RSS會(huì)增長而VSZ保持不變。
還有一個(gè)概念是PSS,它是proportional set size(proportional是成比例的意思)的縮寫。這是一種新的度量方式。它將動(dòng)態(tài)庫所使用的內(nèi)存按比例劃分。比如我們前面例子中的動(dòng)態(tài)庫如果是被兩個(gè)進(jìn)程使用,那么:
PSS: 400K + (1000K/2) + 100K = 400K + 500K + 100K = 1000K
登錄后復(fù)制