win服务器

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > win服务器 > IIS 回收

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

作者:龙叔运维

本文详细介绍了三种IIS应用程序池定时回收的方法,包括IIS自带间隔时间回收和每日定点回收,以及通过脚本与Windows计划任务进行更灵活的回收设置,操作需要管理员权限,这些方法可以帮助释放缓存,优化内存使用

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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三种应用程序池回收方法小结(保姆级别)的文章就介绍到这了,更多相关IIS 回收内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家! 

您可能感兴趣的文章:
阅读全文