关于进程回收

概述

IIS 允许一些应用程序以进程外 (OOP) 方式运行,这时,这些应用程序要由与 IIS 分离的 DLLHost.exe 进程托管。进程回收调整 COM+ 所建立的基础结构,以执行这些 OOP 应用程序的进程回收。特别是,IIS 依赖于 COM+ 中的 RecycleProcess() 方法,将它作为向 COM+ 发出指示、要求回收 DLLHost.exe 进程所托管的应用程序的一种手段。有关何时可能需要回收某个应用程序的详细信息,请参阅应用程序问题

应用程序问题

由于代码编写的不完善,随着时间的推移,应用程序的性能会越来越低,有时会陷于某一循环中,导致不必要的 CPU 负载。这些应用程序还可能导致内存泄漏,这时应用程序不再将不需要的内存释放回操作系统。这些应用程序可能会导致服务器停止运行,因此需要重新启动服务器。进程回收就是为解决这些问题而创建的。

如何进行进程回收

进程回收的工作方式是,在发生所配置的回收事件时,回收应用程序或应用程序池。回收 OOP 应用程序的原理很简单:IIS 调入 COM+ RecycleProcess() 方法,以请求回收由 DLLhost.exe 托管的应用程序进程。触发回收事件后,将发生下列事件:

有关 COM+ RecycleProcess 的详细信息,请在 COM+(组件服务)Platform SDK 中搜索关键字“RecycleProcess”。

共用的和独立的应用程序

可以将应用程序配置为下列三种方式之一运行。。IIS 5.0 引入了一个术语“隔离级别”来描述这些选项。这三种隔离级别为“低”、“中”和“高”。应用程序的配置是使用 Internet 信息服务管理单元在“主目录”属性页上完成的。

级别与继承对可以配置“进程回收”的配置数据库级别进行了说明。有关配置进程回收的信息,请参阅配置进程回收事件。有关以进程内或进程外方式运行应用程序的详细信息,请参阅关于应用程序

回收事件

要触发回收事件,可以配置三种事件,这三种事件可以同时处于活动状态。它们如下所述:

进程回收事件摘要

下面列出了可以配置用来触发进程回收事件的配置数据库关键字名称。

了解触发的事件

当使用一个以上的事件触发回收时,所达到的第一个事件阈值会使 IIS 回收应用程序的 DLLhost.exe 进程。PeriodicRestartTime 和 PeriodicRestartRequests 事件使用内部计时器从零数到在配置数据库关键字中设置的值。当计数器达到配置数据库关键字中设置的值时将对进程进行回收,并且内部计数器重置为零。另外,PeriodicRestartTime 和 PeriodicRestartRequests 内部计数器还互相影响,如下所述。

要点   内部计时器只从配置数据库中读取数据,而不重置配置数据库的值。不要将内部计时器与默认配置数据库关键字参数混淆。

注意   PeriodicRestartTime 和 PeriodicRestartRequests 的默认配置数据库关键字参数为零,因而会禁用这些功能。默认情况下,根本没有配置 PeriodicRestartSchedule 事件。级别与继承主题详细描述了与“进程回收”事件有关的配置数据库关键字。

有关配置“进程回收”事件的信息,请参阅配置回收事件。有关配置级别和继承的信息,请参阅级别与继承

相关资源

下列资源提供了相关信息:


© 1997-2001 Microsoft Corporation. 保留所有权利。