iis应用程序池回收怎么设置

2024-11-16 2

IIS上跑的应用 内存老是缓慢持续的上升,一时之间又找不到问题所在?

那你不如先定时回收一些IIS的应用程序池,来定时释放一下缓存

本文教你三种定时回收的方法,可以根据需要进行选择

1、IIS自带-间隔一段时间进行自动回收

 IIS自带的两种定时回收策略之一

设置一个数值(单位为分钟),每间隔这段时间之后,就会自动进行回收操作

如实设置为0则意味着不会按固定间隔回收

2、IIS自带-每日定点回收

 IIS自带的两种定时回收策略之一

设置一个或多个时间点  每天都到了这个点 都会自动进行回收操作

缺点是不能设置某天某点,或者例如每周六0点 这样的定时回收计划

毕竟大部分的情况不会进行每天回收  频率不会这么高

3、脚本-windows计划任务回收

除了IIS自带的两种定时回收方法之外,我们也可以用脚本加windows计划任务的方式去定时进行回收操作,而且时间设置上更加灵活

注意: 一定要用管理员权限操作

3.1、确定安装了 “IIS管理脚本和工具”

3.2、编写vbs脚本

编写VBS脚本,实现回收IIS应用程序池的逻辑操作

recyclepool.vbs 脚本内容如下(标红为回收操作 剩下的是打印日志,可以根据需要选择要不要)

1
2
3
4
5
6
7
8
9
10
11
12
13
appPoolName = WScript.Arguments(0)
Set oWebAdmin = GetObject("winmgmts:root\WebAdministration")
Set oAppPool = oWebAdmin.Get("ApplicationPool.Name='" + appPoolName + "'")
oAppPool.Recycle
set fso=createobject("scripting.filesystemobject")
if (fso.fileexists("D:\recycleIISPool\recycleIISPool.log")) then
   '1-forreading,2-forwriting,8-appending
   set file=fso.opentextfile("D:\recycleIISPool\recycleIISPool.log",8,ture)
else
   set file=fso.createtextfile( "D:\recycleIISPool\recycleIISPool.log",8,ture)
end if
file.writeline now&"---"&appPoolName&" Recycle OK!"
file.close

3.3、创建bat文件

因为要执行vbs脚本,所以创建一个bat可执行文件来进行调用vbs脚本的操作

recyclepool.bat 脚本内容如下(标红的是参数  就是你要回收的程序池名称)

1
cscript D:\recycleIISPool\recyclepool.vbs "testPool"

3.4、创建windows计划任务

整体操作步骤如下