是否有可能檢查我上次回收應用程序池的時間,我想檢查應用程序池上次回收的日期,有沒有什麼在IIS中可以獲取此信息。如何檢查應用程序池最後回收
回答
如果登錄回收站已打開,您可以在事件查看器中看到這一點。
如果它不是你可以使用性能計數器,看看過程,經過時間的W3WP.EXE代表您的應用程序池(這將是自上個循環的秒數)
在事件查看器中的何處? '應用程序'日誌? `系統`日誌?別的地方? – deadlydog 2017-01-26 22:35:58
你可以很容易地找到最新通過使用這個PowerShell的代碼片段回收時間:
(Get-Process -Id <ProcessId>).StartTime
因此找到您的web應用程序的進程id在任務管理器。
首先通過工具>選擇列添加以下列...:選擇PID和命令行。
查找任何w3wp.exe進程,並通過檢查命令行(應用程序池名稱是其一部分)並記下其PID,找到您的應用程序。
然後運行PowerShell腳本找到最新的回電時間:
希望這有助於
這會給你的機器上所有的w3wp進程和其開始時間的列表。該ErrorAction防止拋出一個錯誤的命令行,如果沒有網站被啓動,因此沒有W3WP過程中存在
ps w3wp -ErrorAction SilentlyContinue | select ProcessName, StartTime
測試服務器2012 R2使用PowerShell V4.0
,用一個命令使用得到的所有信息Get-WmiObject而不是get-process。啓用
$poolName = <your pool name goes here eg. DefaultPool>
$poolProcess =(gwmi -NS 'root\WebAdministration' -class 'WorkerProcess' | select AppPoolName,ProcessId | Where-Object { $_.AppPoolName -eq $poolName })
$lastStartTime=(Get-Process -Id $poolProcess.ProcessId).StartTime
write-output $lastStartTime
對於它的工作,請確保您有 'IIS管理腳本和工具':
Get-WmiObject Win32_Process -Filter "name = 'w3wp.exe'" | Select-Object Name, @{"name"="ApplicationPool";expression={(($_).CommandLine).split('"')[1] }},@{"name"="Starttime";expression={$_.ConvertToDateTime($_.CreationDate)}}
獲取工作進程的正常運行時間(推薦)。
其次,方法是使用事件日誌,如果啓用
Get-Eventlog -LogName system -Newest 1 -Source "WAS" -Message "*recycle of all worker processes in application pool '$poolName'*")
隨着Get-Eventlog
,您可以使用-After/-Before
參數來進一步限制的結果。
要檢查應用程序池在最後的「X」分鐘循環,下面的PowerShell片斷可以:在的Application_Start
function isRecycledInLastNMinutes($appPoolName, $lminutes){
$beforeDate = Get-Date -format 'u'
$afterDate = $beforeDate.addMinutes(-$lminutes)
$result = (Get-Eventlog -LogName system -Newest 1 -Source "WAS" -After $afterDate -Before $beforeDate -Message "*recycle of all worker processes in application pool '$appPoolName'*")
if($result.length -eq 1){
return $true
}else{
retrun $false
}
}
- 1. 回收應用程序池
- 2. 回收應用程序池作爲應用程序池標識
- 3. Sharepoint Excel Services回收應用程序池
- 4. IIS應用程序池回收
- 5. 應用程序池回收併發症
- 6. Sitecore - 無應用程序池回收
- 7. IISExpress應用程序池回收
- 8. 擴展web.config應用程序池回收
- 9. 通過WiX回收應用程序池
- 10. PollingDuplexHttpBinding和應用程序池回收
- 11. ASP.NET應用程序池回收問題
- 12. 使用Selfhosting ASP.NET應用程序回收應用程序池
- 13. 如何跟蹤Web應用程序中的應用程序池回收?
- 14. 在應用程序池回收後重新創建ISessionFactory
- 15. 應用程序池回收後Web服務請求超時
- 16. 「固定請求次數」之後的應用程序池回收
- 17. 在應用程序池回收後建立ODBC連接
- 18. Autofac無法在應用程序池回收後解決
- 19. SignalR:應用程序池回收後如何重新獲取客戶端信息
- 20. 如何在事件日誌中查找應用程序池回收
- 21. IIS應用程序池回收和本地程序集
- 22. Quartz調度程序在應用程序池回收後不執行作業(.Net)
- 23. 何時安排應用程序池回收?
- 24. 使用PowerShell回收IIS應用程序池:「異常調用回收」
- 25. 我們應該多久回收應用程序池?
- 26. 應用程序池回收和工作流程
- 27. 回收應用程序池對應用程序意味着什麼
- 28. ASP.Net應用程序空閒超時和應用程序池回收
- 29. .NET應用程序失敗 - 通過回收應用程序池解決
- 30. 在IIS應用程序池回收期間調試應用程序行爲
認沽logging語句在Global.asax中,這是編程。如果您無法訪問代碼,Event Viewr將是您查看的好地方。[本文](http://blogs.msdn.com/b/johan/archive/2008/02/18/monitoring-application-pool- and-application-restarts.aspx)解釋如何設置應用程序重新啓動事件日誌記錄 – 2011-12-14 20:47:38
我問了一個[類似的問題](http:// stackoverflow。com/questions/5443356/how-to-tell-why-an-iis-application-pool-is-recycled),如果您處於無法訪問事件日誌的共享主機環境中,這可能很有用。 – 2012-08-07 10:36:24