
目录1.下载Procexp64进程资源管理器2.使用Procexp64进程资源管理器前言本篇博客主要讲解的是Procexp64进程资源管理器这是Sysinternals套件里一个加强版的任务管理器它把Windows自带任务管理器只能给的粗粒度CPU / 内存 / 磁盘数据往下详细到了进程级、线程级甚至句柄级你能直接看到某个进程打开了哪些文件句柄、加载了哪些DLL、占了哪个TCP端口、哪个线程正在跑什么调用这对开发调试文件占用、端口冲突、句柄泄漏是救命的它还能挂符号表把线程栈还原成函数名排查死锁或高 CPU 线程时不用开WinDbg就能先粗定位进程树模式能看清谁spawn了谁。而且能实时看GPU、I/O、私有工作集这些更细的指标比任务管理器那点信息深得多算是Windows下开发者和运维排障的标配。下载Procexp64进程资源管理器Procexp64进程资源管理器下载链接如下Procexp64进程资源管理器下载链接https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer点击下载链接跳转至下载网站后点击Download Process Explorer即可下载Procexp64进程资源管理器。如下图图1.下载Procexp64进程资源管理器使用Procexp64进程资源管理器下载成功以后解压压缩包双击procexp64.exe可执行文件即可打开Procexp64进程资源管理器。图2.打开Procexp64进程资源管理器打开Procexp64进程资源管理器以后如图3我们能看到主界面分为以下几个模块1.菜单栏包含File/Options/View/Process/Find/Users/Handle/Help用于设置视图、查找进程、查看句柄等。2.性能小图顶部的小型实时曲线用来快速观察CPU、内存、I/O等资源变化。3.进程树左侧按父子关系展示进程例如多个msedge.exe是Edge的多进程结构。4.资源列例如CPU代表当前的CPU占用PrivateBytes代表进程私有虚拟内存WorkingSet代表当前实际驻留物理内存PID代表进程ID。5.下方面板标签Handle/DLLs/Threads用于查看选中进程的句柄、加载 DLL、线程。6.状态栏底部显示全局资源状态。图3.Procexp64主界面接下来我们使用Weixin.exe举例点击下方的DLLS既能查看Weixin.exe加载的一些动态链接库的信息。图4.进程加载的DLL信息也可以通过调整为Threads查看当前Weixin.exe创建的线程状态和性能数据。图5.进程创建的线程信息和性能数据在主界面中我们也可以对进程右键来手动创建Dump文件这与资源管理器的操作是一致的。图6.创建Dump文件如果我们需要查看更详细的进程当前详细则需要双击选中的进程打开子窗口即可查看详细数据如下图图7.查看详细的进程信息在进程的详细信息窗口中我们可以在Threads页下查看以下信息1.Count线程总数2.进程创建的线程信息PID代表线程IDCPU代表该线程当前的CPU使用率CyclesDelta代表线程近期的CPU周期变换SuspendCount代表线程被挂起的次数StartAddress代表线程入口或者当前符号的位置可以用来判断线程来自哪一个DLL或者模块3.所选线程运行状态State代表线程当前所处的状态KernelTime和UserTime分别表示内核态和用户态的累计执行时间ContextSwitches代表线程上下文的切换次数BasePriority和DynamicPriority分别代表线程基础优先级和动态优先级IdealProcessor代表系统倾向于把当前线程调度到哪一个CPU图8.进程详细信息窗口而我们在进程详细详细窗口中双击选中的线程可以弹出线程当前调用的堆栈信息这些信息可以帮助我们分析线程泄露等问题。图9.线程调用堆栈窗口除去Threads标签以外我们可以在Performance标签页中查看到以下信息1.CPU信息当前进程的优先级和累计消耗的CPU时间2.虚拟内存信息当前经常提交内存大小3.物理内存信息当前经常占用的物理内存大小4.进程I/O信息当前进程的IO信息5.进程句柄信息当前进程的句柄信息如果句柄数持续上涨则代表句柄泄露图10.Performance标签页在GPU Graph标签页中我们可以查看到以下信息1.GPU Usage当前进程调用GPU渲染和计算的使用率2.Dedicated GPU Memory当前进程占用的独立显存信息3.System GPU Memory当前进程使用的共享系统内存空间4.Committed GPU Memory当前进程提交的GPU内存总量图11.GPU Graph标签页在Image标签页中我们可以重点关注以下信息1.Version当前进程的版本信息2.Path当前进程的可执行文件路径图12.Image标签页在Environment标签页中我们可以查看当前进程的环境变量信息如图13。图13.Environment标签页在Performance Graph标签页中我们可以观察到当前进程CPU相关的信息具体如下1.CPU Usage当前进程的CPU使用率2.Private Bytes当前进程提交的私有内存大小3.I/O当前进程的IO使用率图14.Performance Graph标签页