查看: 93|回复: 0

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

[复制链接]

0

主题

0

回帖

0

积分

积极分子

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-6-14
发表于 2024-10-9 11:31:47 | 显示全部楼层 |阅读模式

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 回收内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章希望大家以后多多支持琼殿技术社区! 

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部