linux中rss的意思是常駐內(nèi)存集,其英文全稱是“Resident Set Siz”,表示該進程分配的內(nèi)存大小;rss不包括進入交換分區(qū)的內(nèi)存,包括共享庫占用的內(nèi)存,還包括所有分配的棧內(nèi)存和堆內(nèi)存。
本教程操作環(huán)境:linux5.9.8系統(tǒng)、Dell G3電腦。
linux中rss是什么意思?
Linux 內(nèi)存管理中的 RSS 和 VSZ的意思
RSS 是常駐內(nèi)存集(Resident Set Size),表示該進程分配的內(nèi)存大小。
RSS 不包括進入交換分區(qū)的內(nèi)存。
RSS 包括共享庫占用的內(nèi)存(只要共享庫在內(nèi)存中)
RSS 包括所有分配的棧內(nèi)存和堆內(nèi)存。
VSZ 表示進程分配的虛擬內(nèi)存。
VSZ 包括進程可以訪問的所有內(nèi)存,包括進入交換分區(qū)的內(nèi)容,以及共享庫占用的內(nèi)存。
如果一個進程,程序的大小有 500K,鏈接的共享庫大小有 2500K,堆棧內(nèi)存共有 200K,其中 100K 進入了交換分區(qū)。
進程實際加載了共享庫中的 1000K 的內(nèi)容,以及自己程序的中的 400K 的內(nèi)容。請問 RSS 和 VSZ 應是多少?
RSS:?400K?+?1000K?+?100K?=?1500K VSZ:?500K?+?2500K?+?200K?=?3200K
RSS 中有一部分來自共享庫,而共享庫可能被許多進程使用,所以如果把所有進程的 RSS 加起來,可能比系統(tǒng)內(nèi)存還要大。
有一個較新的參數(shù) PSS (proportional set size),它對于共享內(nèi)存的計算與 RSS 不同。參考前面的例子,如果有兩個進程使用同一個共享庫,那么:
PSS:?400K?+?(1000K/2)?+?100K?=?400K?+?500K?+?100K?=?1000K
線程共享同一個地址空間,所以一個進程內(nèi)部的所有線程有相同的 RSS, VSZ 和 PSS。可使用 ps 或者 top 命令觀察這些信息。
There?is?way?more?to?it?than?this,?to?learn?more?check?the?following?references:
推薦學習:《linux視頻教程》