通過iisapp命令查找pid解決IIS的CUP占用率過高問題
我們先來看看iisapp的一些參數
iisapp -a pid
可以查出對應的域名
反之 iisapp -p domain 查pid的語法
iisapp [a/
AppPoolName | /p
AppPoolID]
參數
/a AppPoolName
指定特定應用程序池的名稱。(可選項)
/p AppPoolID
按 ID 號指定應用程序池。(可選項)
注釋
如果未指定應用程序池名或 ID,則 iisapp 列出所有運行應用程序。
僅當使用 /s 時,
才可使用 /u 和 /p 命令行選項。必須同時使用 /p 和 /u 才能提供用戶密碼。
Iisext.vbs 執行 IIS 管理器中可用的相同操作。可使用任何一種工具管理 IIS 網站。
發出命令的計算機必須正在運行 Windows XP 或 Windows Server 2003 操作系統。用戶必須是命令所影響的計算機上的 Administrators 組成員。
命令所影響的計算機必須是運行帶有 Internet 信息服務 (IIS) 6.0 的 Windows Server 2003 的服務器。
說明一下:w3wp.exe為IIS里面的應用程序池進程,有幾個進程就會有幾個w3wp.exe,會發現某個w3wp.exe進程CPU和內存都高得可怕。
好,那我們來看看具體實踐中該如何解決首先是windows2003
首先打開windows任務管理器–點擊查看—選擇列–把PID給鉤上,就可以在進程里面看到PID的選項了。
點擊運行–輸入CMD–輸入iisapp -a—很奇怪,這里顯示PID的,是用彈出窗口一個個出現的,不知道別人會不,,反正我就是這樣,太不利于查看了。
注意,希望人BLOG聽說第一次運行,會提示沒有js支持,點擊確定。然后再次運行就可以了。這樣就可以看到pid對應的應用程序池,這個我就沒測試了。
這樣吧,先再CMD里面輸入:cd %systemroot%\system32
然后再輸入:c.exe iisapp.vbs -a
CMD窗口顯示如下:
W3WP.exe PID: 2488 AppPoolId: AppPool #26
W3WP.exe PID: 3008 AppPoolId: AppPool #2
W3WP.exe PID: 4704 AppPoolId: AppPool #15
W3WP.exe PID: 6388 AppPoolId: AppPool #19
W3WP.exe PID: 6004 AppPoolId: AppPool #8
奇怪的是,我還是彈出了窗口,不過不影響顯示。有了這樣對于就好辦了。
再任務管理器里面查看占用CPU和內存過高進程的PID值,就知道是哪一個應用程序池出了問題,就可以查到具體是什么網站有問題了。
相關資料:
win2000的解決方法
2000下要怎么辦呢?win2000下不大方便,需要將站點的應用程序保護設置為高,默認是中。
然后打開管理工具 > 組件管理,組件服務 — 計算機 — 我的電腦 — com+ 應用程序
選擇查看 > 狀態查看,就可以看到類似如下的顯示:
名稱 運行 PID
IIS-{www.zoubin.com//Root} 是 2544
關鍵字:服務器、應用程序、IIS、組件服務
新文章:
- CentOS7下圖形配置網絡的方法
- CentOS 7如何添加刪除用戶
- 如何解決centos7雙系統后丟失windows啟動項
- CentOS單網卡如何批量添加不同IP段
- CentOS下iconv命令的介紹
- Centos7 SSH密鑰登陸及密碼密鑰雙重驗證詳解
- CentOS 7.1添加刪除用戶的方法
- CentOS查找/掃描局域網打印機IP講解
- CentOS7使用hostapd實現無AP模式的詳解
- su命令不能切換root的解決方法
- 解決VMware下CentOS7網絡重啟出錯
- 解決Centos7雙系統后丟失windows啟動項
- CentOS下如何避免文件覆蓋
- CentOS7和CentOS6系統有什么不同呢
- Centos 6.6默認iptable規則詳解