如何检查应用程序池最后回收

Abb*_*bas 35 iis-7 application-pool recycle

是否有可能检查我上次回收应用程序池的时间,我想查看我的应用程序池最后一次回收的日期,IIS中是否有任何内容我可以获取此信息.

小智 51

您可以使用此powershell代码段轻松找到最新的回收时间:

(Get-Process -Id <ProcessId>).StartTime
Run Code Online (Sandbox Code Playgroud)

因此,在任务管理器中查找Web应用程序的进程ID.
首先通过工具>选择列添加以下列...:选择PID命令行.
查找任何w3wp.exe进程并通过检查命令行(应用程序池名称是其中的一部分)找到您的应用程序并记下其PID.
然后运行powershell脚本以查找最新的回收时间:

希望这可以帮助

  • 作为一个单行:`ps w3wp | 在PS v4上选择ProcessName,StartTime`. (7认同)
  • 不要忘记以管理员身份运行Powershell (4认同)
  • `ps w3wp | 选择进程名称、ID、开始时间 | ft -AutoSize` 还显示进程的 id (2认同)

Ste*_* S. 23

如果启用了回收登录,则可以在事件查看器(系统日志)中看到此信息.

如果不是,您可以使用PerfMon计数器查看代表您的应用程序池的W3WP.exe上的进程耗​​用时间(这将是自上次回收以来的秒数)

  • 事件查看器中的位置?`应用程序`日志?`系统`日志?别的地方? (2认同)
  • 如何检查回收站是否开启登录? (2认同)

小智 9

要使用一个命令获取所有信息,请使用Get-WmiObject而不是get-process.

Get-WmiObject Win32_Process -Filter "name = 'w3wp.exe'" | Select-Object Name, @{"name"="ApplicationPool";expression={(($_).CommandLine).split('"')[1] }},@{"name"="Starttime";expression={$_.ConvertToDateTime($_.CreationDate)}}
Run Code Online (Sandbox Code Playgroud)


mva*_*nle 6

在 Powershell 中:

(ps -id (Get-IISAppPool -Name <name>).WorkerProcesses.ProcessId).StartTime
Run Code Online (Sandbox Code Playgroud)

如果池已经被回收,那么由于某种原因你可能需要重新导入模块来获取新的processId:

$pool = Get-IISAppPool -Name <name>

$pool.recycle()

Import-Module -Force IISAdministration

(ps -id (Get-IISAppPool -Name <name>).WorkerProcesses.ProcessId).StartTime
Run Code Online (Sandbox Code Playgroud)