linux中rss的意思是常駐內存集,其英文全名為“Resident Set Siz”,表示該進程分配的內存大小;rss不包括進入交換分區的內存,包括共享庫佔用的內存,還包括所有分配的棧記憶體和堆記憶體。
本教學操作環境:linux5.9.8系統、Dell G3電腦。
linux中rss是什麼意思?
Linux 記憶體管理中的 RSS 和 VSZ的意思
RSS 是常駐記憶體集(Resident Set Size),表示該程序分配的記憶體大小。
RSS 不包含進入交換分割區的記憶體。
RSS 包含共享庫所佔用的記憶體(只要共享庫在記憶體中)
RSS 包含所有分配的堆疊記憶體和堆疊記憶體。
VSZ 表示進程分配的虛擬記憶體。
VSZ 包括進程可以存取的所有內存,包括進入交換分區的內容,以及共享庫佔用的內存。
如果一個進程,程式的大小有 500K,連結的共享庫大小有 2500K,堆疊記憶體共有 200K,其中 100K 進入了交換分區。
進程實際上載入了共享庫中的 1000K 的內容,以及自己程式的中的 400K 的內容。請問 RSS 和 VSZ 應為多少?
RSS: 400K + 1000K + 100K = 1500K VSZ: 500K + 2500K + 200K = 3200K
RSS 中有一部分來自共享庫,而共享庫可能被許多進程使用,所以如果把所有進程的 RSS 加起來,可能比系統記憶體還要大。
有一個較新的參數 PSS (proportional set size),它對於共享記憶體的計算與 RSS 不同。參考前面的例子,如果有兩個行程使用同一個共用函式庫,那麼:
PSS: 400K + (1000K/2) + 100K = 400K + 500K + 100K = 1000K
執行緒共用同一個位址空間,所以一個行程內部的所有執行緒有相同的 RSS, VSZ 和 PSS。可使用 ps 或 top 指令觀察這些資訊。
There is way more to it than this, to learn more check the following references:
推薦學習:《linux影片教學》
以上是linux中rss是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!