ProcExp和TaskMgr的列对比

这两者的大部分列都是一致的,包括pid、threads、handles等,但在内存方面却有出入,对比如下:

ProcExp TaskMgr Sample.exe
Private Delta Bytes 工作集增量 0或±几十kb
Working Set 工作集 419M
Peak Working Set 峰值工作集 453M
Private Bytes 提交大小 410M
Peak Private Bytes 峰值提交大小 × 417M
WS Private Bytes 专用工作集 332M
WS Shareable Bytes 可共享专用工作集 × 87M
WS Shared Bytes 已共享专用工作集 × 65M

有几点值得注意:

  1. TaskMgr里没有打叉 × 的列
  2. 可以看到在ProcExp里主要的概念有3个:[Working Set]、[Private Bytes]、[WS Private Bytes],对应到TaskMgr里分别是[工作集]、[提交大小]、[专用工作集],不过TaskMgr有些列混用了这几个说法。
  3. [Working Set] = [WS Private Bytes] + [WS Shareable Bytes],[WS Private Bytes]是进程自己私有的dll,[WS Shareable Bytes]是进程间可共享的dll,比如GAC里的,加到一起就是每个进程的Working Set
  4. [Private Bytes] vs. [WS Private Bytes]可以见这篇,虽然我也没看太懂,不过就是一些不同的内存计数手法。实际工作中,基本上高内存的话,这些都会高,目前还不用过于深究。
原文地址:https://www.cnblogs.com/AlexanderYao/p/5363839.html