1、第1章 监视和优化性能教学目标:管理 Windows 日志订阅远程计算机的日志利用任务管理器监控系统资源利用“系统监视器”检测系统性能监控远程计算机性能跟踪检测计算机性能使用 Windows 系统资源管理器1.1 Windows 日志Windows 日志类别包括以下在早期版本的 Windows 中可用的日志:应用程序、安全和系统日志。此外还包括两个新的日志:安装程序日志和 ForwardedEvents 日志。Windows 日志用于存储来自旧版应用程序的事件以及适用于整个系统的事件。1.1.1 事件日志的类型应用程序日志应用程序日志包含由应用程序或程序记录的事件。例如,数据库程序可在应用程序
2、日志中记录文件错误。程序开发人员决定记录哪些事件。安全日志安全日志包含诸如有效和无效的登录尝试等事件,以及与资源使用相关的事件,如创建、打开或删除文件或其他对象。管理员可以指定在安全日志中记录什么事件。例如,如果已启用登录审核,则对系统的登录尝试将记录在安全日志中。安装程序日志安装程序日志包含与应用程序安装有关的事件。系统日志系统日志包含 Windows 系统组件记录的事件。例如,在启动过程中加载驱动程序或其他系统组件失败将记录在系统日志中。系统组件所记录的事件类型由 Windows 预先确定。ForwardedEvents 日志ForwardedEvents 日志用于存储从远程计算机收集的事
3、件。若要从远程计算机收集事件,必须创建事件订阅。应用程序和服务日志应用程序和服务日志是一种新类别的事件日志。这些日志存储来自单个应用程序或组件的事件,而非可能影响整个系统的事件。此类别的日志包括四个子类型:管理日志、操作日志、分析日志和调试日志。管理日志中的事件尤其受使用事件查看器解决问题的 IT 专业人士的关注。管理日志中的事件应该提供有关如何对事件做出响应的指南。操作日志中的事件对 IT 专业人士也很有用,但他们可能需要更多解释。管理日志和调试日志并不那么用户友好。分析日志存储跟踪问题的事件,并且通常记录大量事件。调试日志由开发人员在调试应用程序时使用。默认情况下,分析日志和调试日志都为隐
4、藏和禁用状态。若要使这些日志可见,请按照显示或隐藏分析日志和调试日志中的步骤操作。若要启用这些日志,请按照启用分析日志和调试日志中的步骤操作。1.1.2 事件属性来源 记录事件的软件,可以是程序名(如“SQL Server”),也可以是系统或大型程序的组件(如驱动程序名)。例如,“Elnkii”表示 EtherLink II 驱动程序。事件 ID 标识特定事件类型的编号。描述的第一行通常包含事件类型的名称。例如,6005 是在启动事件日志服务时所发生事件的 ID。此类事件的描述的第一行是“事件日志服务已启动”。产品支持代表可以使用事件 ID 和来源来解决系统问题。级别 事件严重性的分类。以下事
5、件严重性级别可能出现在系统和应用程序日志中:信息。指明应用程序或组件发生了更改,如操作成功完成、已创建了资源,或已启动了服务。警告。指明出现的问题可能会影响服务器或导致更严重的问题(如果未采取措施)。错误。指明出现了问题,这可能会影响触发事件的应用程序或组件外部的功能。关键。指明出现了故障,导致触发事件的应用程序或组件可能无法自动恢复。以下事件严重性级别可能出现在安全日志中:Success Audit。指明用户权限练习成功。审核失败。指明用户权限练习失败。在事件查看器的正常列表视图中,这些分类都由符号表示。用户 事件发生所代表的用户的名称。如果事件实际上是由服务器进程所引起的,则此名称为客户端
6、 ID;如果没有发生模仿的情况,则为主 ID。如果适用,安全日志项同时包含主 ID 和模仿 ID。当服务器允许一个进程采用另一个进程的安全属性时就会发生模拟的情况。操作代码 包含标识活动或应用程序引起事件时正在执行的活动中的点的数字值。例如,初始化或关闭。日志已记录事件的日志的名称。任务类别 用于表示事件发行者的子组件或活动。关键字 可用于筛选或搜索事件的一组类别或标记。示例包括“网络”、“安全”或“未找到资源”。计算机 发生事件的计算机的名称。该计算机名称通常为本地计算机的名称,但是它可能是已转发事件的计算机的名称,或者可能是名称更改之前的本地计算机的名称。日期和时间 记录事件的日期和时间。
7、1.1.3 自定义视图在早期版本的事件查看器中,可以筛选事件日志中的事件。为创建筛选器,指定了一组用于确定日志中哪些事件可见和哪些事件隐藏的规则。例如,可以指定只有等级值为“错误”或“警告”的事件才应该可见。筛选事件的功能非常关键。只需要重点关注适用于正在调查的问题的那些事件。事件查看器的最新版本将筛选的概念扩展到超出单个事件日志以外。它使您可以创建一组规则,这些规则选择来自所指定源的事件,并只显示来自其属性值满足这些规则的那些源的事件。创建只显示对于特定问题所关注的事件可能会需要很长时间。自定义视图提供了一种保存此工作的方式。创建只显示所关注记录的筛选器后,就可以提供筛选器的名称并将其保存以
8、供以后使用。这个保存的筛选器就是一个自定义视图。示例:显示最近 7 天,系统出现的错误和警告。点击自定义视图,点击“创建自定义视图”。记录时间选择“最后 7 天”。事件类型选中“错误”和“警告”。按日志选中“系统”。点击“确定”。输入名称“最近 7 天的错误和警告”,点击“新建文件夹”,输入“我的视图”。点击“我的视图”下的“最近 7 天的错误和警告”,您能看到筛选出来的系统产生的错误和警告。1.1.4 管理日志事件日志存储在文件中。这些文件的大小都有可以更改的默认最大值。可以通过使用Windows 界面或命令行执行此过程。点击“Windows 日志”“系统”,点击“属性”,在出现的日志属性对
9、话框,可以设置日志的存储位置,日志最大大小,清除日志,以及达到最大值后,设置日志保留策略。按需要改写事件日志文件已满时继续存储新事件。每个新传入事件替换日志中最旧的事件。日志满时将其存档,不改写事件必要时自动将日志存档。不改写任何事件。不改写事件(手动清除日志)手动而非自动清除日志。点击将“将事件另存为”,将保存类型选择“事件文件”,输入文件名称“2008 年 10 月21 日以前的系统日志”,点击保存。点击“打开日志保存的日志”,浏览到“2008 年 10 月 21 日以前的系统日志”,点击“打开”。如下图,可以看到保存的日志。1.1.5 配置计算机以转发和收集事件Windows 远程管理(
10、WinRM)是一个远程管理技术,它使得可以通过 HTTP 网络连接发送 WMI 命令。通过使用 WinRM 进行远程服务器管理,可以减少 DCOM 或者 RPC 的连接,只需要使用 HTTP 或者 HTTPS 就可以了,这对于跨越防火墙管理的场景非常有用(否则需要打开类似 TCP 135 这样的端口)。他们决定 Windows Server 2008 基于 WinRM 的事件订阅和 WinRS(Windows Remote Shell)来保证远程服务器运行正常以及在出现问题时能第一时间进行修复。示例:订阅日志必须配置收集计算机(收集器)和每台将从其收集事件的计算机(源),然后才能创建订阅来收集
11、计算机上的事件。配置 DCServer 服务器订阅 FileServer 服务器和 Server Core 计算机 ProfileServer 上的日志。步骤:1.以域管理员帐户登录到 FileServer,在“命令提示符”下输入“WinRM QuickConfig”,然后按 enter 键。2.在“进行这些更改吗”提示符下,输入“Y”。3.以域管理员的用户帐户登录 ProfileServer。4.在“命令提示符”下输入“WinRM QuickConfig”,然后按 enter 键。5.在“进行这些更改吗”提示符下,输入“Y”。6.以域管理员的用户帐户登录 DCServer。7.点击“开始”“
12、运行”,输入 MMC,点击“确定”。8.在打开的 MMC 对话框中,点击“文件”“添加/删除管理单元”。9.在添加删除管理单元对话框,选中“本地用户和组”,点击“添加”。10.出现的对话框,选择“另一台计算机”,输入“profileServer”,点击“完成”。11.再次点击“添加”,选中“另一台计算机”,输入“FileServer”,点击“完成”。12.点击 profileServer 计算机的组,双击 Event log readers 组,点击“添加”。13.在选择用户、计算机或组,点击“对象类型”。14.选中“计算机”,点击“确定”。15.输入“DCServer”,点击“确定”。16.
13、以同样的方式,将计算机帐户 DCServer 添加到 FileServer 的 Event log readers 组。这样 DCServer 计算机能够订阅 FileServer 和 profileServer 的日志。17.以管理员的用户帐户登录 DCServer。打开“事件查看器”。18.点击“订阅“,点击“创建订阅”,输入订阅名称“查询 FileServer 和 ProfileServer上的系统错误事件”,目标日志“转发的事件”。19.点击“选择计算机”,在出现的对话框,点击“添加域计算机”,输入 ProfileServer和 FileServer 计算机,点击“确定”。20.点击“
14、选择事件”,记录时间“最后 7 天”,时间类型“错误”和“警告”,事件日志选中“系统”。点击“确定”。21.点击“Windows 日志”“转发的日志”。可以看到订阅的 ProfileServer 和 FileServer计算机上的系统日志。1.2 利用任务管理器监控系统资源什么是任务管理器?任务管理器显示计算机上当前正在运行的程序、进程和服务。可以使用任务管理器监视计算机的性能或者关闭没有响应的程序。如果您与网络连接,还可以使用任务管理器查看网络状态以及查看您的网络是如何工作的。如果有多个用户连接到您的计算机,您可以看到谁在连接、他们在做什么,还可以给他们发送消息。1.2.1 实时检测内存和
15、CPU 的使用情况还可以通过右键单击任务栏上的空白区域打开任务管理器,然后单击“任务管理器”,或者通过按 Ctrl+Shift+Esc 来打开任务管理器。点击任务管理器的性能标签,可以看到 CPU 和内存的使用情况。点击“查看”“显示内核时间”。在图标中,处于内核模式的处理器时间用红色显示,它就是应用程序正在使用操作系统服务的时间量。其余的时间用绿色显示,并被称之为“用户模式”。它就是在应用程序的代码内用于运行线程的时间量。点击“资源监视器”,可以看到 CPU、硬盘、网络和内存的使用情况。如下图,可以看到那个进程正在读写磁盘。1.2.2 退出没有响应的程序如果您计算机上的程序停止响应,则 Wi
16、ndows 将尝试查找问题并自动解决该问题。如果您不想等待,则可以使用任务管理器自己结束该程序。使用任务管理器自己结束程序可能比等待更快,但是将丢失所有未保存的更改。如果您想保留重要的工作,则等待几分钟,首先让 Windows 尝试解决该问题。单击打开“任务管理器”。单击“应用程序”选项卡,单击没有响应的程序,然后单击“结束任务”。1.2.3 识别与程序关联的进程可以查看应用程序的进程,右击选中的应用程序,点击“转到进程”,可以看到该应用程序对应的进程。也可以通过结束进程来结束应用程序。1.2.4 添加监控的列任务管理器进程标签下,可以添加您关心的其它的性能指标。在 Windows 任务栏管理
17、器的“查看”菜单里有一个“选择列”选项,列出了可选的一些反应进程运行情况的参数。下面列出常用的进程度量数据。PID 进程标识符号每个进程都有一个数字号;这个号码与它所指定的进程是完全等价的,就象身分证号码同我们自己的关系一样。CPU 使用和时间CPU 时间是表明一个进程自启动以来所占用 CPU 时间的总和;CPU 使用是指一个进程占用 CPU 的百分比。内存使用增量是指进程使用内存的变化。正值表示增加,负值表示减少。内存使用高峰期是指一个进程自启动以来使用的最大内存值。页面错误当软件试图读写标有不存在的虚拟内存地址时,中断发生了。页面错误记录了一个进程必须从硬盘上恢复的次数。虚拟内存大小是给一
18、个进程安排的虚拟内存的大小或地址空间。内存-页面缓冲池系统分配给一个进程的虚拟内存,它是可以分页的。分页是指把进程的不常使用的工作内存从 RAM 移至硬盘。基本优先级是一个处理排名,它确定了一个进程中的线程被处理的顺序。I/O 读取和 I/O 读取字节I/O 读取是指一个进程产生的读输入输出操作的个数,包括文件个数、网络个数和输入输出设备个数。而 I/O 读取字节是指相应的字节数。I/O 写入和 I/O 写入字节I/O 写入是指一个进程产生的写输入输出操作的个数,包括文件个数、网络个数和输入输出设备个数。而 I/O 写入字节是指相应的字节数。I/O 其它和 I/O 其它字节I/O 其它是指一个
19、进程产生的非读非写输入输出操作的个数,包括文件个数、网络个数和输入输出设备个数。而 I/O 其它字节是指相应的字节数在进程标签下,点击“查看”“选择列”选择 CPU 时间、I/O 读取和 I/O 写入,点击“确定”。可以看到各个进程使用 CPU 的累计时间。1.2.5 排序进程打开 Windows 任务管理器,点击“进程”标签,点击“内存”,可以按内存的使用排序进程,可以看到那些进程使用内存较多。点击 CPU 可以按 CPU 的使用情况排序进程。通过排序,您可以识别程序对资源的使用情况。如果您识别出来某些应用程序占用了大量的处理器时间,可以将这其中的某些应用程序移动到另外一个计算机上,用于适当
20、分布工作符合。1.3 利用“系统监视器”检测系统性能Windows 可靠性和性能监视器使用可合并进数据收集器集的性能计数器、事件跟踪数据和配置信息。1.3.1 使用性能监视器实时监控“性能计数器”是系统状态或活动情况的度量单位。它们可以包含在操作系统中或作为个别应用程序的一部分。Windows 可靠性和性能监视器以指定的时间间隔请求性能计数器的当前值。示例:监控磁盘读写情况点击“开始”“程序”“管理工具”“可靠性和性能监视器”。点击添加计数器,在添加计数器对话框中,点击 PhysicalDisk 下的 Avg.Disk Bytes/Transfer 和 Current Disk Queue L
21、ength。Disk Transfers/sec 指在此盘上读取/写入操作速率。Current Disk Queue Length 是在收集性能数据时磁盘上当前的请求数量。它还包括在收集时处于服务的请求。这是瞬间的快照,不是时间间隔的平均值。多轴磁盘设备能有一次处于运行状态的多重请求,但是其他同期请求正在等待服务。此计数器会反映暂时的高或低的队列长度,但是如果磁盘驱动器被迫持续运行,它有可能一直处于高的状态。请求的延迟与此队列的长度减去磁盘的轴数成正比。为了提高性能,此差应该平均小于二。点击“显示描述”,您可以看到计数器的作用。现在您可以实时观察每个计数器的值,点击可以选择直方图或报告的形式观
22、察计数器的值。1.3.2 监控远程计算机的性能您可以远程监控计算机的性能,只要您有访问远程计算机管理员凭据。在域环境中域管理员默认是所有域中成员计算机的管理员组的成员,因此以域管理员帐户登录,能够远程监控域中计算机性能。要想远程监控工作组中的远程计算机,您需要访问一下远程计算机的共享文件,输入远程计算机的管理员账号和密码,这样您的计算机就缓存了访问远程计算机的凭据。或打开“控制面板”“用户帐户”“管理网络密码”。添加访问远程计算机的凭据。如下图,添加计数器的对话框,计算机可以输入远程计算机的 IP 地址,或计算机名。注意:计算机名称或 IP 地址前要添加“”。1.3.3 使用系统内置的数据收集
23、器“事件跟踪数据”是从跟踪提供程序收集到的,这些跟踪提供程序是操作系统或者用于报告操作或事件的个别应用程序的组件。多个跟踪提供程序的输出可合并进一个 trace session,例如资源视图用于显示实时 CPU、内存、磁盘和网络活动的“Windows 内核跟踪”。示例:启用系统内置跟踪点击“开始”“程序”“管理工具”“可靠性和性能监视器”。点击“数据收集器集”“系统“,右击“System Performance(系统性能)”,点击“开始”。过一段时间后停止。点击“报告”“System Performance”,点击最新的报告。可以看到 CPU、内存、网络和磁盘的性能计数器的值。点击图标可以看到
24、针对 PU、内存、网络和磁盘的多种统计信息。1.3.4 创建用户定义性能跟踪您可以创建自定义的数据收集器来跟踪您关注的性能指标。示例:跟踪网络流量1.右击“数据收集器集”下的“用户定义”,点击“新建”“数据收集器集”。2.在创建新的数据收集器集对话框,输入名称“网络流量跟踪”,选择“手动创建(高级)”,点击“下一步”。3.在出现的您希望包括何种类型的数据对话框,选中“性能计数器”,点击“下一步”。4.在您希望记录哪个性能技术器对话框,点击“添加”。5.在出现的可用计数器选中 Network Interface 下的 Bytes Sent/sec、Bytes Received/sec和 Byte
25、s Total/sec,点击“确定”。6.更改示例间隔为 3 秒,点击“下一步”。7.在数据保存位置对话框,保留默认位置,点击“下一步”。8.选中“立即启动该数据收集器”,点击“完成”。9.点击“报告”“用户定义”“网络流量跟踪”,可以看到报告状态。10.选中刚才创建的“网络流量跟踪”,右击停止跟踪。11.选中“报告”“用户定义”“网络流量跟踪”,点击编号为 000003,点击。12.在添加计数器对话框,点击显示所有的计数器,点击“添加”,点击“确定”。13.可以看到跟踪的结果。1.3.5 指定数据收集计划可以指定数据收集计划和停止条件。右击数据收集器集,点击“属性”,在属性对话框下的计划标签
26、下,点击“添加”,可以指定开始日期和截止日期,以及时间安排。可以使用单个停止条件或组合使用多个条件来自动暂停或重新开始收集数据收集器集中的数据。选中复选框以选择一个或所有要应用于数据收集器集的停止条件。如果在此选项卡上未选定停止条件,数据收集器集将从启动(手动或自动)时间开始收集数据,直到手动停止。“总持续时间”会使数据收集器集在超过配置时间之后停止收集数据。总持续时间设置优先于定义为限制的任何设置。“限制”可用于代替总持续时间停止条件,或与其一起使用。若要在达到持续时间、大小的限制或同时达到这两种限制时自动重新开始数据收集器集的收集操作,请选中复选框。当与总持续时间停止条件组合使用时,配置自
27、动重新开始会使每个指定时间段或大小的数据收集到单独的日志文件中,直到满足总持续时间停止条件。1.3.6 可靠性监视器可靠性监视器会计算系统稳定性指数,该指数反映意外问题是否降低了系统的可靠性。稳定性指数的时间图会快速标识问题开始发生的日期。随附的系统稳定性报告提供了详细信息,以帮助解决可靠性降低的根本原因。通过逐个查看对故障系统(应用程序故障、操作系统崩溃或硬件故障)的更改(安装或删除应用程序,更新你操作系统,或者添加或修改驱动程序),可以形成一个解决问题的策略。在该界面中,红色叉号所在的位置表示 Win2008 系统在那一刻有错误操作存在,黄色感叹号所在的位置表示 Win2008 系统在那一
28、刻有安全隐患操作存在,绿色字母 i 符号所在的位置表示 Win2008 系统在那一刻有操作成功的提示信息存在;图表上面的黑色小方块表示 Win2008 系统每一天的事件采集点,每一个事件采集点包含的信息主要有五个方面,它们分别是 Windows 故障信息、硬件故障信息、应用程序故障信息、软件安装卸载信息、其他故障信息。Win2008 系统会自动对每一个事件采集点收集来的五个方面信息进行综合评估,并对系统的运行稳定性进行量化评分,其中最稳定的系统状态,其可靠性的评估分为 10 分,从上图所示的界面中我们不难看出随着系统运行时间的推移,系统运行的可靠性也是逐步下降。就笔者自己的计算机系统来看,20
29、08 年 9 月 6 日之前的系统可靠性是最好的,不过从 9 月 6日开始系统运行可靠性开始下降,很明显,笔者自己的计算机系统最理想的系统还原点应该处于 9 月 6 日之前,也就是说当笔者的系统遇到意外需要还原时,我们必须将系统还原点设定在 9 月 6 日之前的某个时刻,那样一来系统的工作状态才能被恢复到最稳定、最健康的系统。1.4 Windows 系统资源管理器通过用于 Windows Server 2008 操作系统的 Windows 系统资源管理器,可以使用标准资源策略或自定义资源策略来管理服务器的处理器和内存的使用情况。通过管理资源,可以帮助确保均等地使用一台服务器提供的所有服务,或确
30、保高优先级的应用程序、服务或用户始终可以使用您的资源。仅当组合的处理器负荷大于 70%时,Windows 系统资源管理器才会管理处理器资源。这意味着在处理器负荷较小时,不会主动限制每个使用者可以占用的资源。如果发生处理器资源的争用,资源分配策略可以根据您定义的管理配置文件,帮助确保实现最低的资源可用性。1.4.1 Windows 系统资源管理器的功能可以使用 Windows 系统资源管理器执行下列操作:使用预配置的策略管理系统资源(处理器和内存),或创建自定义策略,按进程、按用户或按 Internet 信息服务(IIS)应用程序池分配资源。使用日历规则在不同时间应用不同的策略,而不必人工干预或
31、重新配置。自动选择基于服务器属性和事件(例如群集事件或条件)的资源策略,或基于已安装物理内存大小或处理器个数的更改的资源策略。在本地或自定义 SQL 数据库中收集资源使用情况的数据。可以将多台服务器中的资源使用情况数据合并到一台运行 Windows 系统资源管理器的计算机上。资源管理的好处由于 Windows Server 2008 设计为向非操作系统任务提供尽可能多的资源,所以,运行单个角色的服务器通常不要求进行资源管理。但是,如果一台服务器上安装了多个应用程序和服务,这些应用程序和服务并不会察觉到进程的争用。不受管理的应用程序或服务通常将使用所有可用资源来完成任务。因此,使用 Window
32、s 系统资源管理器等工具来管理多用途服务器上的系统资源是非常重要的。使用 Windows 系统资源管理器主要有两个好处:由于通过动态管理的资源可以提高服务的可用性,所以,可以在一台服务器上运行更多的服务。即使处于最大资源负荷期间,高优先级的用户或系统管理员仍可以访问系统。1.4.2 Windows 系统资源管理器中的内存管理可以在 Windows 系统资源管理器中创建资源分配,用于限制进程使用的工作集内存量或提交内存量。内存限制按进程应用。例如,如果创建一个资源分配策略,将工作集限制指定为 10 MB,并将其应用于与六个正在运行的进程匹配的进程匹配条件,10 MB 的限制将分别应用于全部六个进
33、程。工作集内存限制可以为匹配进程的工作集设置上限。Windows 系统资源管理器禁止匹配进程的工作集超过您在资源分配中定义的限制。如果达到限制,后续的内存分配不会失败,但是将替换工作集中的现有页面。这样可以避免后续的应用程序错误。提交内存的限制可以为进程使用的提交内存设置上限。通常,如果进程使用的提交内存持续增大,则是由于进程中的内存泄漏所致。在为进程使用的提交内存量设置限制时,如果发生内存泄漏,可以人工干预。达到限制后,Windows 系统资源管理器可以将事件记入事件日志,终止进程,或重新启动进程。Windows 系统资源管理器服务维护提交内存的限制。该服务监视匹配进程对提交内存的利用率。只
34、要进程对提交内存的利用率超过该服务的限制,该服务还会强制执行用户定义的操作。其他考虑事项不要使用 Windows 系统资源管理器中的内存限制,来管理动态修改自己的内存限制的应用程序或进程。这样可能会影响 Windows 系统资源管理器以及所管理的应用程序的正常运行。最佳做法是使用 CPU 目标来管理资源。有选择地将内存限制应用于出现内存耗尽问题的应用程序。如果过度地限制应用程序可以使用的内存,可能会延长应用程序完成任务的时间,并且可能会提高磁盘利用率。1.4.3 安装 Windows 系统资源管理器若要使用 Windows 系统资源管理器管理资源,必须安装 Windows 系统资源管理器功能,
35、并且必须正在运行 Windows 系统资源管理器服务。安装 Windows 系统资源管理器功能本地 Administrators 组中的成员身份或等效身份是完成这些过程所需的要求。若要安装 Windows 系统资源管理器功能,请执行下列操作:1.单击“开始”“管理工具”,然后单击“服务器管理器”。此时将启动 Microsoft 管理控制台。2.在控制台窗格中,向下滚动到“功能摘要”。3.单击“添加功能”。此时将启动添加功能向导。4.在功能列表中,选中 Windows 系统资源管理器的复选框,然后单击“下一步”。5.按照向导中的步骤完成 Windows 系统资源管理器的安装。1.4.4 Wind
36、ows 系统资源管理器中的处理器管理Windows 系统资源管理器通过调整进程优先级来管理处理器资源。这样,可以保证进程匹配条件定义的进程组可以获得最低可用 CPU 带宽百分比。除非总 CPU 利用率大于70%,否则,不会强制进行资源管理。您还可以使用 Windows 系统资源管理器来定义处理器关联。这意味着匹配的进程可以与多处理器计算机上的一个处理器或一组处理器关联。要点永远不会管理核心操作系统进程,包括 Windows 系统资源管理器服务。此外,可以手动将进程添加到用户定义的排除列表中,以便不进行管理。排除的进程或非受管理进程组成员的进程必须共享在分配之后剩余的资源。处理器管理方法Wind
37、ows 系统资源管理器可以通过 CPU 百分比目标或处理器关联规则来管理处理器资源。要点如果应用程序具有管理 CPU 使用情况或处理器关联的功能,应使用其自带的资源管理功能并将其添加到用户定义的排除列表中。CPU 百分比目标分配处理器资源最简单的方法是为进程匹配条件定义的每个进程组分配一个 CPU 百分比目标。此目标是向进程组保证的最低可用 CPU 带宽百分比。注意可以分配的资源是核心操作系统进程或手动排除的进程未使用的资源。由于 Windows 系统资源管理器保证最低可用 CPU 带宽,而不是限制 CPU 带宽的利用率,所以,受管理的进程组使用的实际 CPU 可能会超过最低分配。同样,未使用
38、其最低分配的受管理进程组的多余容量将重新分配给需要更多资源的进程组。管理规则在使用 CPU 约束创建资源分配策略时,还可以选择要应用的管理规则。这些管理规则类似于内置的资源分配策略,但是在将其应用于资源分配策略中的一个资源分配时,将在该资源分配的所有匹配进程之间分配已分配的 CPU。管理规则包括:标准(默认值)Windows 系统资源管理器不会尝试控制在匹配的进程之间分配已分配的 CPU 的方式。选择此管理规则时,可以使用附加的进程匹配条件向匹配的进程二次分配资源。例如,一个匹配的进程可能会使用所有已分配的 CPU 带宽。Windows 系统资源管理器不会管理此带宽使用,所以,可能会影响其他进
39、程。每进程相等可用的 CPU 带宽在匹配的进程之间平均分配。选择此管理规则时,不允许进行二次分配。例如,如果两个匹配的进程使用已分配的 CPU 带宽的 100%,Windows 系统资源管理器将降低 CPU 利用率超过 50%的进程的优先级。每用户相等每个用户运行的匹配进程组共享的可用 CPU 带宽相等。选择此管理规则时,不允许进行二次分配。例如,如果两个用户正在运行多个应用程序,这些应用程序使用已分配的 CPU 带宽的 100%,Windows 系统资源管理器将降低 CPU 利用率超过 50%的用户所运行的进程的优先级。每会话相等在终端服务器上,每个终端服务会话中运行的匹配进程共享的可用 C
40、PU 带宽相等。选择此管理规则时,不允许进行二次分配。例如,如果连接到终端服务器的两个用户使用已分配的 CPU 带宽的 100%,Windows 系统资源管理器将降低 CPU 利用率超过 50%的终端服务器会话中运行的进程的优先级。二次分配CPU 百分比目标分配可以进一步分为二次分配。二次分配按父级资源分配所分配的资源的百分比计算所分配的资源。此二次分配匹配的进程匹配条件与父级资源分配不同。二次分配优先于默认的资源分配策略。默认管理规则:每进程相等在一个进程组中的进程之间管理资源的默认策略是内置策略 Equal_per_process。通过此策略:可用的 CPU 带宽在进程匹配条件所确定的进程
41、之间平均分配。默认情况下启用超越进程保护。如果启动 Windows 系统资源管理器而不进行其他配置,则将此策略应用于受管理的服务器上运行的所有可管理进程。此默认策略可以通过编辑 Windows 系统资源管理器属性进行更改。应启用“当前资源分配策略”(如果禁用了日历)或禁用“日历默认策略”(如果启用了日历)。处理器关联除了指定 CPU 目标百分比之外,匹配的进程还可以与多处理器系统上的特定处理器关联。此方法可以有效地在少量进程匹配条件之间分配服务器的资源,但是,在对大量进程匹配条件使用处理器关联时,应谨慎操作。Windows 系统资源管理器在计算具有关联的进程的可用资源时,将只考虑一个处理器的状
42、态-所以,如果系统遇到较高负荷,可能会过度分配处理器资源。有时,可用的 CPU 带宽可能会低于预期。这样,将减少分配给匹配进程的 CPU 带宽,可能会使这些进程的响应速度低于预期。如果符合下列条件,可能会发生这种情况:进程组关联的处理器数过少。没有关联的进程使用另一个进程组约束到的处理器。进程匹配条件无法检查在具有关联的进程之间是否存在分配冲突。注意对于 SQL Server 多实例管理,不建议通过 Windows 系统资源管理器管理 CPU 关联,而应使用 SQL Server 的处理器关联设置。1.4.5 内置的资源管理策略可以通过选择要使用的策略类型来启用内置的资源管理策略。无须执行其他
43、配置。每进程相等使用 Equal_Per_Process 资源分配策略管理系统时,将同等对待每个正在运行的进程。例如,如果运行十个进程的服务器达到 70%的处理器利用率,当这些进程处于争用状态时,Windows 系统资源管理器就将限制每个进程最多占用处理器资源的 10%。注意,低利用率进程未使用的资源将分配给其他进程。每用户相等使用 Equal_Per_User 资源分配策略管理系统时,根据运行进程的用户帐户对进程进行分组,并同等对待每个进程组。例如,如果四个用户正在服务器上运行进程,将为每个用户分配系统资源的 25%来完成这些进程。分配给运行一个应用程序的用户的资源与分配给运行多个应用程序的
44、用户相同。此策略对于应用程序服务器尤其有用。每会话相等使用 Equal_Per_Session 资源分配策略管理系统时,为连接到系统的每个会话分配相等的资源。此策略适用于终端服务器。每 IIS 应用程序池相等使用 Equal_Per_IISAppPool 资源分配策略管理系统时,将同等对待每个正在运行的IIS 应用程序池,不在 IIS 应用程序池中的应用程序只能使用 IIS 应用程序池未使用的资源。示例:指定服务器使用内置的资源管理策略Web 服务器上有多个 Web 站点,每个 Web 站点使用独立的应用程序池,为避免某一个Web 站点的应用程序池过多地使用将 Web 服务器资源而影响其他 W
45、eb 站点的性能,您需要指定 Windows 资源管理器中默认的 Equal_Per_IISAppPool 策略为管理策略。步骤:1.点击“开始”“程序”“管理工具”“Windows 系统资源管理器”。2.可以看到系统内置的资源管理策略,当前生效的策略是 Equal_Per_Process。3.右击 Equal_Per_IISAppPool,点击“设置为管理策略”,在警告对话框,点击“确定”。日历被禁用。4.您会看到 Equal_Per_IISAppPool 策略生效。日历被禁用,系统资源分配策略可以有多个,但在某一时刻只能有一个生效。1.4.6 自定义资源管理可以使用自定义资源管理方法来确定
46、资源用户并根据您自己的条件为这些用户分配资源。进程匹配条件使您可以选择要受资源分配策略规则管理的服务或应用程序。可以通过文件名或命令进行选择,也可以指定用户或组。例如,可以创建一个进程匹配条件,对 Administrator 用户运行的应用程序 iexplore.exe 实施管理。资源分配策略为您创建的进程匹配条件所指定的进程分配处理器资源和内存资源。排除列表使应用程序、服务、用户或组不受 Windows 系统资源管理器管理。注意也可以在资源分配策略中使用命令行路径匹配,使应用程序只是不受该策略的管理。计划使用日历界面控制一次性事件或对资源分配的定期更改。不同的资源分配策略可以在每天的不同时间
47、、每周的不同天或根据其他计划方法处于活动状态。条件策略的应用自动切换资源分配策略,以响应特定系统事件(例如,安装新内存或其他处理器,启动或停止节点,或更改群集中的某个资源组的可用性)。示例:利用日历安排系统资源管理策略您可以利用日历安排 Windows 系统资源管理策略。比如每天 8:00 到 12:00 的时间段使用 Equal_Per_IISAppPool 策略,14:00 到 16:00 的时间段使用使用 Equal_Per_Process 策略。步骤:1.点击“开始”“程序”“管理工具”“Windows 系统资源管理器”。2.右击“事件”,点击“启用”。3.右击如图位置,点击“新建定期
48、事件”。4.输入事件名“Equal_Per_IISAppPool,开始时间和结束时间,策略名称选择“Equal_Per_IISAppPool”点击“确定”。5.再新建定期事件,事件名输入“Equal_Per_Process”,策略名称选择“Equal_Per_Process”6.可以看到由日历安排系统使用的系统资源配置策略。7.更改系统时间,您会发现在不同的时间段,系统就会使用不同的策略。示例:创建自定义的资源分配策略指定 administrator 使用记事本程序的系统资源分配策略。步骤:1.点击“新建进程匹配条件”2.在新建进程匹配条件对话框,输入条件名“adminUseNotepad”,
49、点击“添加”。3.在添加规则对话框,点击下拉菜单选“中应用程序”,点击“选择”。4.在打开对话框,输入“%SystemRoot%system32notepad.exe”,点击“确定”。5.点击用户或组标签,点击“添加”,输入 administrator,点击“确定”。6.如下图,点击“资源分配策略”,点击“新建资源分配策略”。7.在新建资源分配策略对话框,输入策略名称“限制管理员使用记事本”,点击“添加”。8.在添加或编辑资源分配对话框,进程匹配条件选中“adminUseNotepad”,为此资源分配的处理器的百分比为 2。点击“内存”标签。9.限定最大内存 1M。如果超过了内存选中“停止应用程序”,点击“确定”。10.右击刚才创建的策略,点击“设置为管理策略”,这样就禁止了日历中的安排。