公告:2024年4月15日起本站用户注册、新用户的前10个编辑需要审核,如果您的编辑没有立即显示,请等待管理员审核完毕。

任务管理器

来自BetaWorld 百科
跳转到导航 跳转到搜索
Machine Translate.png
本页面含有机器翻译内容。由于想偷懒,作者选择使用机器翻译——很显然,这是个错误的选择。如果您看到这个提示,请在阅读本页面时自行判断内容的准确性;或者更进一步,帮助我们去除机器翻译内容,以合适的中文语法完善本页面。
Windows Server 2012中的任务管理器

任务管理器(Task Manager),主进程名taskmgr.exe,原进程名taskman.exe,在Windows 8开发过程中也曾用过taskui.exeTM.exe作为主进程名称。初期仅用于显示目前运行的应用程序列表,并提供几个电源/用户选项。现已支持查看系统实时状态,并提供管理服务内容的功能。

任务管理器自Windows 95来一直是Windows中的重要组件。除去少数Windows版本外,基本上所有的Windows均内置本应用程序。

功能

任务管理器的用户界面提供了进程、性能、应用历史记录、开机启动项列表、用户、详细信息与服务等菜单项。它最基本的功能就是强制结束一个进程,或者运行一个应用。在不能使用鼠标的情况下,可以在选中具体的应用,按下Del按钮,即可强制关闭指定应用。

当选择“选项”→“置于顶层”时,即使已启动其他的窗口,它也会将自身覆盖在所有正在运行的窗口上。甚至它会覆盖在输入法候选框上,让你在任务管理器的运行框里输入文字时摸不着头脑。在某些情况下,此选项已启用。

应用程序

这里显示了所有当前正在运行的应用程序,不过它只会显示当前已打开窗口的应用程序,而QQ、MSN Messenger等最小化至系统托盘区的应用程序则并不会显示出来。

你可以在这里点击"结束任务"按钮直接关闭某个应用程序,如果需要同时结束多个任务,可以按住Ctrl键复选;点击"新任务"按钮,可以直接打开相应的程序、文件夹、文档或Internet资源,如果不知道程序的名称,可以点击"浏览"按钮进行搜索,其实这个"新任务"的功能看起来有些类似于开始菜单中的运行命令。 Windows 8及以后的任务管理器中,“应用程序”选项卡被删除,取而代之的是新版“进程”选项卡。

进程

这里显示了所有当前正在运行的进程,包括应用程序、后台服务等,那些隐藏在系统底层深处运行的病毒程序或木马程序都可以在这里找到,当然前提是你要知道它的名称。找到需要结束的进程名,然后执行右键菜单中的"结束进程"命令,就可以强行终止,不过这种方式将丢失未保存的数据,而且如果结束的是系统服务,则系统的某些功能可能无法正常使用甚至是蓝屏。在Windows XP及以前,无法结束系统进程和与其同名的进程,Windows Vista中修复了这个bug。

Windows 7及以前的任务管理器只能显示系统中当前进行的进程,而Windows 8及以后的任务管理器可以像Process Explorer一样树状方式显示出各个进程之间的关系,即某一进程启动了哪些其他的进程,还可以显示某个进程所调用的文件或文件夹,如果某个进程是Windows服务,则可以查看该进程所注册的所有服务。

Windows 8及以后的任务管理器中,旧版“进程”选项卡改称“详细信息”。

性能

从任务管理器中我们可以看到计算机性能的动态概念,例如CPU和各种内存的使用情况。CPU使用情况:表明处理器工作时间百分比的图表,该计数器是处理器活动的主要指示器,查看该图表可以知道当前使用的处理时间是多少。CPU使用记录:显示处理器的使用程序随时间的变化情况的图表,图表中显示的采样情况取决于"查看"菜单中所选择的"更新速度"设置值,"高"表示每秒2次,"正常"表示每秒1次,"低"表示每四秒1次,"暂停"表示不自动更新。

PF使用情况:PF是页面文件page file的简写。但这个数字常常会让人误解,以为是系统当时所用页面文件大小。正确含义则是正在使用的内存之和,包括物理内存和虚拟内存。那么如何得知实际所使用的页面文件大小昵?一般用第三方软件,比如PageFile Monitor,也可以通过Windows控制台来看。本人的页面文件预设了。

页面文件使用记录:显示页面文件的量随时间的变化情况的图表。也可以使用"更新速度"设置项。

总数:显示计算机上正在运行的句柄、线程、进程的总数。

执行内存:分配给程序和操作系统的内存,由于虚拟内存的存在,"峰值"可以超过最大物理内存,"总数"值则与"页面文件使用记录"图表中显示的值相同。

句柄数:所谓句柄实际上是一个数据,是一个Long(整长型)的数据。

句柄是Windows用来标识被应用程序所建立或使用的对象的唯一整数,Windows使用各种各样的句柄标识诸如应用程序实例,窗口,控制,位图,GDI对象等等。Windows句柄有点象C语言中的文件句柄。

从上面的定义中的我们可以看到,句柄是一个标识符,是拿来标识对象或者项目的,它就象我们的姓名一样,每个人都会有一个,不同的人的姓名不一样,但是,也可能有一个名字和你一样的人。从数据类型上来看它只是一个16位的无符号整数。应用程序几乎总是通过调用一个Windows函数来获得一个句柄,之后其他的Windows函数就可以使用该句柄,以引用相应的对象。

如果想更透彻一点地认识句柄,我可以告诉大家,句柄是一种指向指针的指针。我们知道,所谓指针是一种内存地址。应用程序启动后,组成这个程序的各对象是住留在内存的。如果简单地理解,似乎我们只要获知这个内存的首地址,那么就可以随时用这个地址访问对象。但是,如果您真的这样认为,那么您就大错特错了。我们知道,Windows是一个以虚拟内存为基础的操作系统。在这种系统环境下,Windows内存管理器经常在内存中来回移动对象,依此来满足各种应用程序的内存需要。对象被移动意味着它的地址变化了。如果地址总是如此变化,我们该到哪里去找该对象呢?

为了解决这个问题,Windows操作系统为各应用程序腾出一些内存储地址,用来专门登记各应用对象在内存中的地址变化,而这个地址(存储单元的位置)本身是不变的。Windows内存管理器在移动对象在内存中的位置后,把对象新的地址告知这个句柄地址来保存。这样我们只需记住这个句柄地址就可以间接地知道对象具体在内存中的哪个位置。这个地址是在对象装载(Load)时由系统分配给的,当系统卸载时(Unload)又释放给系统。

句柄地址(稳定)→记载着对象在内存中的地址→对象在内存中的地址(不稳定)→实际对象

本质:Windows程序中并不是用物理地址来标识一个内存块,文件,任务或动态装入模块的,相反的,Windows API给这些项目分配确定的句柄,并将句柄返回给应用程序,然后通过句柄来进行操作。

但是必须注意的是程序每次从新启动,系统不能保证分配给这个程序的句柄还是原来的那个句柄,而且绝大多数情况的确不一样的。假如我们把进入电影院看电影看成是一个应用程序的启动运行,那么系统给应用程序分配的句柄总是不一样,这和每次电影院售给我们的门票总是不同的一个座位是一样的道理。

线程是指程序的一个指令执行序列,Win32平台支持多线程程序,允许程序中存在多个线程。在单CPU系统中,系统把CPU的时间片按照调度算法分配给各个线程,因此各线程实际上是分时执行的,在多CPU的Windows NT系统中, 同一个程序的不同线程可以被分配到不同的CPU上去执行。由于一个程序的各线程是在相同的地址空间运行的,因此设及到了如何共享内存, 如何通信等问题,这样便需要处理各线程之间的同步问题,这是多线程编程中的一个难点。

线程,也被称为轻量进程(lightweight processes)。计算机科学术语,指运行中的程序的调度单位。

线程是进程中的实体,一个进程可以拥有多个线程,一个线程必须有一个父进程。线程不拥有系统资源,只有运行必须的一些数据结构;它与父进程的其它线程共享该进程所拥有的全部资源。线程可以创建和撤消线程,从而实现程序的并发执行。一般,线程具有就绪、阻塞和运行三种基本状态。

在多中央处理器的系统里,不同线程可以同时在不同的中央处理器上运行,甚至当它们属于同一个进程时也是如此。大多数支持多处理器的操作系统都提供编程接口来让进程可以控制自己的线程与各处理器之间的关联度(affinity)。

进程是程序在一个数据集合上运行的过程(注:一个程序有可能同时属于多个进程),它是操作系统进行资源分配和调度的一个独立单位,进程可以简单的分为系统进程(包括一般Windows程序和服务进程)和用户进程。

物理内存:计算机上安装的总物理内存,也称RAM,"可用数"物理内存中可被程序使用的空余量。但实际的空余量要比这个数值略大一点,因为物理内存不会在完全用完后才去转用虚拟内存的。也就是说这个空余量是指使用虚拟内存(pagefile)前所剩余的物理内存。"系统缓存"被分配用于系统缓存用的物理内存量。主要来存放程序和数据等。一但系统或者程序需要,部分内存会被释放出来,也就是说这个值是可变的。

认可用量总数:其实就是被操作系统和正运行程序所占用内存总和,包括物理内存和虚拟内存(page file)。它和上面的PF使用率是相等的。"限制"指系统所能提供的最高内存量,包括物理内存(RAM)和虚拟(page file)内存。"峰值"指一段时间内系统曾达到的内存使用最高值。如果这个值接近上面的"限制"的话,意味着要么你增加物理内存,要么增加pagefile,否则系统会给你颜色看的!

内核内存:操作系统内核和设备驱动程序所使用的内存,"分页数"是可以复制到页面文件中的内存,一旦系统需要这部分物理内存的话,它会被映射到硬盘,由此可以释放物理内存;"未分页"是保留在物理内存中的内存,这部分不会被映射到硬盘,不会被复制到页面文件中。

联网

这里显示了本地计算机所连接的网络通信量的指示,使用多个网络连接时,我们可以在这里比较每个连接的通信量,当然只有安装网卡后才会显示该选项。

该选项卡中的内容在Windows 8之后的版本中被并入“性能”选项卡。

改进历史

Windows 95与Windows 98:元始

Windows NT 4.0:基本定型

Windows 2000:细节微调

Windows 2000的任务管理器乍一看与Windows NT 4.0别无二致。Windows 2000中的任务管理器在语言本地化上做出了一些细节调整,包括用更严谨的书面语替换原先较为口语化的部分翻译。

除此之外,在“进程”选项卡的“查看”菜单下还引入了一些与I/O有关的新查看选项。

Windows XP:细微改动

在某些情况下,Windows XP的任务管理器在菜单栏上包含一个“关机”菜单,可以选择锁定、​​关机、重新启动、休眠、睡眠,以及注销当前的计算机。内存占用的单位也改为MB。

Windows Vista与Windows 7:终成经典

Windows Vista的任务管理器中,“性能”页添加了“打开资源监视器”的按钮,这是Windows XP及以前的系统所没有的。

值得一提的是,Windows 8 Build 8250中仍然存在旧版任务管理器,此后旧版任务管理器在操作系统本体中被删去,但至今仍然存在于Windows预安装环境中。

Windows 8与Windows 8.1:改头换面

Windows 8中的任务管理器进行了大规模修改,导致一些选项被删除或重命名,并新增了一些选项。例如,“联网”选项卡被删除,旧版“进程”选项卡改为“详细信息”。Windows 8版的任务管理器还可以缩小,仅显示原“应用程序”选项卡中的内容。

在Windows 8 Milestone 1时期,新版任务管理器已经有了雏形,只不过当时新版任务管理器的功能非常少,“性能”选项卡也被存储在名为“Advanced Task Manager”的应用程序中。最终在Milestone 3时期,任务管理器已接近RTM样式。

Windows 10:日趋专业

Windows 10的任务管理器相较Windows 8变化并不大。

在Windows 10 2017年秋季创意者更新(1709)中,任务管理器开始显示GPU相关信息。

在Windows 10 2020年10月更新(20H2)中,任务管理器新增了显示GPU利用率和温度的选项。

Windows 11:焕然一新

Windows 11 2022年更新

  • build 22538中,微软首次加入全新的基于WinUI2的任务管理器。

在Windows 11翻新任务管理器后,Server Core版本仍沿用了旧样式的任务管理器,此外也可通过在SysWOW64目录启动或使用taskmgr -d参数启动以使用旧版界面。

  • build 25936中,微软再次翻新了一批任务管理器中的提示窗口。翻新后的提示窗口最终于build 25951完成汉化。

图库

另请参阅