8.2 进程相关指标和监控技术
8.2.1 Windows操作系统任务、进程介绍
Windows操作系统中运行着众多的任务和进程,在系统当前运行的进程里包括:系统管理计算机个体和完成各种操作所必需的进程;用户开启、执行的额外程序进程,当然也包括用户不知道而自动运行的非法进程(如一些流氓软件、病毒程序等)。
在做性能测试的时候,为了体现系统的真实性能,通常我们要将没有用的应用或者进程进行关闭,减少CPU、内存等的利用。那么怎样查看哪些应用和进程正在被使用呢?要查看系统哪些进程正在运行,要查看进程列表,可以使用Windows操作系统提供的任务管理器。
进程是程序在计算机上的一次执行活动。运行一个程序,就启动了一个进程。一个进程是由一个或者多个进程、代码、数据和应用程序在内存中的其他资源组成。典型的应用程序资源是打开的文件和动态分配的内存空间。应用程序在系统调度时将控制权交给它的一个进程,系统调度决定了哪些进程运行以及什么时候运行。在多处理器的计算机上,系统调度可以将单独的进程分配到不同的处理器中来平衡CPU负载。
进程中的每一个进程都是独立的,除非用户进程之间可以互相可见,否则进程将独立于进程中的其他进程。显然,程序是死的(静态的),进程是活的(动态的)。进程可以分为系统进程和用户进程。凡是用于完成操作系统的各种功能的进程就是系统进程,它们就是处于运行状态下的操作系统本身;用户进程就是所有由计算机使用者启动的进程。
操作系统对任务和进程提供了不同的管理工具,下面将分别介绍对任务和进程的管理。
8.2.2 Windows操作系统任务、进程监控技术
可以通过3种方式来显示Windows操作系统任务、进程,您可以直接按下<Ctrl+Shift+Esc>组合键,或者在任务栏单击鼠标右键,在弹出的菜单中选择“任务管理器(K)”选项,如图8-1所示,打开本地计算机的Windows进程管理器。单击“进程”标签,即可查看系统中运行的进程列表,如图8-2所示。
图8-1 任务栏快捷菜单选项中的任务管理器
图8-2 Windows任务管理器进程列表
此外,还可以通过启动Windows的命令行来查看运行在本地或远程计算机上的所有任务的应用程序和服务列表及进程ID(PID),使用tasklist命令实现。为了使大家对这个命令有一个认识,可以输入tasklist/?来查看该命令的帮助信息,显示如下内容:
TASKLIST [/S system [/U username [/P [password]]]] [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH] 描述: 这个命令行工具显示应用程序在本地或远程系统上运行的相关任务/进程的列表。 参数列表: /S system 指定连接到的远程系统。 /U [domain\]user 指定应该在哪个用户上下文执行这个命令。 /P [password] 为提供的用户上下文指定密码。如果忽略,提示输入。 /M [module] 列出所有其中符合指定模式名的 DLL 模块的所有任务。 如果没有指定模块名,则显示每个任务加载的所有模块。 /SVC 显示每个进程中的服务。 /V 指定要显示详述信息。 /FI filter 显示一系列符合筛选器指定的标准的任务。 /FO format 指定输出格式。有效值: "TABLE"、"LIST"、"CSV"。 /NH 指定栏标头不应该在输出中显示。只对 "TABLE" 和 "CSV" 格式有效。 /? 显示帮助/用法。 筛选器: 筛选器名 有效操作符 有效值 ----------- --------------- -------------- STATUS eq, ne 正在运行 | 没有响应 IMAGENAME eq, ne 图像名 PID eq, ne, gt, lt, ge, le PID 值 SESSION eq, ne, gt, lt, ge, le 会话编号 SESSIONNAME eq, ne 会话名 CPUTIME eq, ne, gt, lt, ge, le CPU 时间,格式为 hh:mm:ss。 hh - 时, mm - 分,ss - 秒 MEMUSAGE eq, ne, gt, lt, ge, le 内存使用量(KB) USERNAME eq, ne 用户名,格式为 [domain\]user SERVICES eq, ne 服务名 WINDOWTITLE eq, ne 窗口标题 MODULES eq, ne DLL 名 例如: TASKLIST TASKLIST /M TASKLIST /V TASKLIST /SVC TASKLIST /M wbem* TASKLIST /S system /FO LIST TASKLIST /S system /U domain\username /FO CSV /NH TASKLIST /S system /U username /P password /FO TABLE /NH TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running" |