IIS三种应用程序池回收方法(保姆级教程)

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

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

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

IIS三种应用程序池回收方法(保姆级教程)_第1张图片

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

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

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

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

IIS三种应用程序池回收方法(保姆级教程)_第2张图片

IIS三种应用程序池回收方法(保姆级教程)_第3张图片

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

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

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

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

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

IIS三种应用程序池回收方法(保姆级教程)_第4张图片

IIS三种应用程序池回收方法(保姆级教程)_第5张图片

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

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

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

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

        IIS三种应用程序池回收方法(保姆级教程)_第6张图片

IIS三种应用程序池回收方法(保姆级教程)_第7张图片

 3.2、编写vbs脚本

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

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

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 脚本内容如下(标红的是参数  就是你要回收的程序池名称)

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

3.4、创建windows计划任务

        整体操作步骤如下

IIS三种应用程序池回收方法(保姆级教程)_第8张图片

IIS三种应用程序池回收方法(保姆级教程)_第9张图片

IIS三种应用程序池回收方法(保姆级教程)_第10张图片

IIS三种应用程序池回收方法(保姆级教程)_第11张图片

IIS三种应用程序池回收方法(保姆级教程)_第12张图片

IIS三种应用程序池回收方法(保姆级教程)_第13张图片

欢迎关注我的公众号:龙叔运维

持续分享运维经验

 IIS三种应用程序池回收方法(保姆级教程)_第14张图片

你可能感兴趣的:(龙叔Windows,asp.net,iis,windows运维)