??返回專欄總目錄
文章目錄
- 一、VSS(Virtual Set Size)
- 二、RSS(Resident Set Size)
- 三、PSS(Proportional Set Size)
- 四、USS(Unique Set Size)
- 五、其他工具
Linux 提供了多種進程內存占用的度量指標, 它們反映了不同的內存使用特征:
- VSS 反映進程虛擬內存總需求, 包括未分配的部分, 通常并無實際參考價值。
- RSS 反映進程實際使用的物理內存, 但對共享內存的重復計算會導致高估。
- PSS 通過按比例分攤共享內存的方式, 較為合理地評估了進程內存占用。
- USS 則僅計算進程獨占的內存, 代表進程退出后將返還給系統的內存數量。
我們在日常工作中一般圖簡單會直接用 RSS 來表示進程的內存占用
一、VSS(Virtual Set Size)
VSS(Virtual Set Size)包括已分配但尚未實際使用的內存區域。由于 VSS 包含了未實際使用的內存,因此其參考價值較低。下面是一個 C 的 demo 來演示分配大量的內存但不實際訪問這些內存情況下 vss 的特點。
#include <stdio.h>