任务管理器”内存列的含义

任务管理器”内存列的含义是什么?

在“任务管理器”中,可以通过将列添加到“进程”选项卡上所显示的信息中,来监视计算机上正在运行的进程。这些列将显示有关每个进程的信息,如进程当前正在使用的中央处理器 (CPU) 和内存资源的数量。

  1. 通过右键单击任务栏,然后单击“任务管理器”,打开“任务管理器”。

  2. 单击“进程”选项卡。任务管理器将显示当前正在用户帐户下运行的进程。若要显示所有用户正在运行的进程,请单击“显示所有用户的进程” 需要管理员权限 如果系统提示您输入管理员密码或进行确认,请键入密码或提供确认。

  3. 若要添加更多列,请单击“查看”,然后单击“选择列”。选中要查看列的复选框,然后单击“确定”

描述

PID(进程标识符)

唯一标识所运行进程的编号。

用户名

运行该进程的用户帐户。

会话标识

标识进程所有者的编号。当多个登录的用户时,每个用户将有唯一的会话标识。

CPU 的使用

自上次更新以来,进程使用中央处理器 (CPU)的时间百分比(列标题中标为“CPU”)。

CPU 时间

进程自其启动以来的总处理时间(以秒为单位)。

内存 - 工作集

私人工作集中的内存数量与进程正在使用且可以由其他进程共享的内存数量的总和。

内存 - 峰值工作集

进程所使用的工作集内存的最大数量。

内存 - 工作集增量

进程所使用的工作集内存中的更改量。

内存 - 私人工作集

工作集的子集,它专门描述了某个进程正在使用且无法与其他进程共享的内存数量。

内存 - 认可用量

进程为用户保留的虚拟内存数量。

内存 - 页面缓冲池

可以写入其他存储媒体(例如硬盘)的某个进程的认可虚拟内存数量。

内存 - 非页面缓冲池

无法写入其他存储媒体的某个进程的认可虚拟内存数量。

页面错误

由于未能从内存中找到数据而必须从磁盘检索进程数据的次数。页面错误值从进程启动时开始累计。

页面错误增量

自上次更新以来页面错误数量的变化。

基本优先级

优先排名,它确定了所计划进程的线程顺序。

句柄

进程的对象表中的对象句柄数。

线程数

进程中运行的线程数。

USER 对象

当前由进程使用的 USER 对象数。USER 对象是来自 Window 管理器的对象,它包含窗口、菜单、光标、图标、挂接、加速器、监视器、键盘布局及其他内部对象。

GDI 对象

图形输出设备应用程序编程接口 (API) 的图形设备接口 (GDI) 库中的对象数量。

I/O 读取

由进程(包括文件、网络和设备 I/O)生成的读取输入/输出操作的数量。无法计算定向到 CONSOLE(控制台输入对象)句柄的 I/O 读取数量。

I/O 写入

由进程(包括文件、网络和设备 I/O)生成的写入输入/输出操作的数量。无法计算定向到 CONSOLE (控制台输入对象)句柄的 I/O 写入数量。

I/O 其他

由既非读取又非写入的进程(包括文件、网络和设备 I/O)生成的输入/输出操作的数量。此类操作的示例是控制功能。无法计算定向到 CONSOLE(控制台输入对象)句柄的 I/O 其他操作数量。

I/O 读取字节数

由进程(包括文件、网络和设备 I/O)生成的输入/输出操作所读取的字节数。无法计算定向到 CONSOLE(控制台输入对象)句柄的 I/O 读取字节数。

I/O 写入字节数

由进程(包括文件、网络和设备 I/O)生成的输入/输出操作所写入的字节数。无法计算定向到 CONSOLE(控制台输入对象)句柄的 I/O 写入字节数。

I/O 其他字节数

由既非读取又非写入的进程(包括文件、网络和设备 I/O)生成的输入/输出操作所传输的字节数。此类操作的示例是控制功能。无法计算定向到 CONSOLE(控制台输入对象)句柄的 I/O 其他字节数。

映像路径名称

硬盘上的进程位置。

命令行

指定为创建进程的完整命令行。

虚拟化

确定为此进程启用、禁用还是不允许使用用户帐户控制 (UAC) 虚拟化。UAC 虚拟化将文件和注册表写入错误重定向到每用户位置。

描述

进程的描述。

数据执行保护

是否为此进程启用或禁用数据执行保护。有关详细信息,请参阅什么是数据执行保护?

这里的内存使用是什么样的概念呢?和上文提到的虚拟内存大小(private byte)之间又是什么关系呢?
windows任务管理器(WINDOWS TASK MANAGER以下简称TM )的内存使用和procexp explorer(以下简称PE)
中的working set 是同一个概念



working set 在msdn里的解释是:
The working set of a program is a collection of those pages in its virtual address space that
have been recently referenced. It includes both shared and private data. The shared data
includes pages that contain all instructions your application executes, including those in your
DLLs and the system DLLs. As the working set size increases, memory demand increases.
大意为:工作集(working set)是程序在自身虚拟地址空间中最近引用的页面集合。它包括共享和私有数据
。共享数据包括哪些支持执行文件运行的系统dll和私有dll的内存页,内存需求跟随工作集增加而增加。
可以理解为进程提交的虚拟地址空间在物理内存中实际引用的部分,是进程占用内存大小的直接表现.
细心的读者可能会发现,为什么TM中有些进程的 虚拟内存大小比内存使用还要小呢?对这一事实,我还没有
确切的答案,也可以理解为,多余的这部分是某些系统共享dll的页空间比如kernel32.dll user32.dll
ntdll.dll等

另一个补充是关于pf使用率的概念
以下也是msdn上的解释
PF Usage - This is the total number of committed pages on the system.  It does not tell you how
many are actually written to the page file.  It only tells you how much of the page file would
be used if all committed pages had to be written out to the page file at the same time.
pf使用是当前系统所有已提交的页面空间总数,它不反应实际有多少写入页面文件.它仅仅反应假如所有的已提
交页面空间在同一时间写入页面文件可能占用的大小。
实际使用这个值并不一定代表了当前所有进程的物理内存占用,如上文所说,只是所有进程的虚拟地址空间的
总和,具体的物理内存占用或者页面文件的使用要看当前机器的环境和系统分配了。
以上概念性的东西比较多,乍看似乎不那么实用,掌握好的话遇到一些概念性的系统问题有指导作用哦
继续下文

这里是一个比较重要且被忽略的概念
页面错误和页面错误增量



当进程需要访问的某些部分不在缓存内存中(软页错误)也不在内存中(硬页错误)就会触发页面错误。
结果呢?
一般就从硬盘上去找数据了,效率当然低了很多。当物理内存大小不能完全跟上进程数据访问要求的时候,页
面错误就不可避免。但是减少页错误的可能,也是提高应用程序效率的重要部分
页面错误增量可以实时反应出进程的页错误动态,对判断系统性能开销有很重要的参考作用

TM中一些其他的内存信息

物理内存



总数:物理内存总数(你有几根内存?)
可用数:物理内存中还有多少可被提交?
系统缓存:用来缓存内存和硬盘交换的数据
windows缓存机制是windows数据效率交换的重要组成,这里的系统为工作集提供一个备用缓冲列表,提高内存
与其他存储设备的交换效率
ps:大家可能要联想到supercache是怎么工作的呢?是不是提高了这个缓存的大小啊?很抱歉,我还没有研究
过,呵呵,下文吧

认可用量(commit charge)



总数:相当于当前系统的提交的虚拟地址空间总和(这里也包括页面文件),比pf要大些,windows系统占用
限制:可用提交空间的最大值(包括页面文件)
峰值:当前环境历史最大值

核心内存



总数:系统核心驱动提交的空间总数,系统优化时候不要忽略了这个。



分页数:核心可被映射到页面文件的空间
未分页:核心常驻内存的空间

注:TM中的进程信息列可在 查看-选择列中添加


posted @ 2011-08-02 16:21  麦峰强  阅读(3514)  评论(0编辑  收藏  举报