如何查詢佔用CPU利用率比較高的站點

背景:最近發現8*.19*這臺經常有客戶反映很慢,重啓IIS只是暫時解決問題,過段時間還是慢,今天登錄這臺服務器超慢,打開任務管理器一看,CPU利用率100%,先把佔用比較高的進程結束掉,馬上快多了。最後查到相應的站點提交經理處理了。

查詢之前必須要了解一些概念,

PID(進程控制符)英文全稱爲Process Identifier。

PID就是各進程的身份標識,程序一運行系統就會自動分配給進程一個獨一無二的PID。進程中止後PID被系統回收,可能會被繼續分配給新運行的程序。

在任務管理器上面進程選項,默認是看不到PID的,需要調出來,方法:查看》選擇列》勾選PID,如下圖所示,然後就可以看到進程對應的PID值。

System Idle Process ,Windows內存管理進程,也是就是平時說的空閒進程。擁有0級優先,該進程作爲單線程運行在每個處理器上,並在系統不處理其他線程的時候分派處理器的時間。它的CPU佔用率越大表示可供分配的CPU資源越多,數字越小則表示CPU資源緊張。該進程是系統必須的,不能禁止。

W3wp或者W3wp.exe,IIS Application Pool Process。是在IIS(因特網信息服務器)與應用程序池相關聯的一個進程,如果你有多個應用程序池,就會有對應的多個w3wp.exe的進程實例運行,如下圖

上面的概念明白以後,下面就應該查了。

①看CPU利用率比較高的w3wp進程所對應的PID值。

②打開命令提示符,輸入命令iisapp –i(或者是iisapp –a)會出現錯誤提示,可以忽略(具體爲什麼出現這個錯誤你們有興趣自己百度下)

③確定之後會陸續出現幾個windows腳本宿主,主要看裏面內容,即w3wp對應的PID值和相應的進程池,這時候你就可以查到PID值對應的是哪個進程池

④根據進程池一一排查對應的站點

思路:

服務器慢》查到是CPU利用率高》查看對應的w3wp進程》查看w3wp對應PID》根據PID查對應進程池》根據進程池找出相應的站點,就這麼簡單。

擴展:

Iisapp的其他用法:

先再CMD裏面輸入:  cd %systemroot%\system32

然後再輸入:   cscrIPt.exe iisapp.vbs –a

命令行顯示

W3WP.exe PID: 5572   AppPoolId: apppool025015

W3WP.exe PID: 2168   AppPoolId: apppool025018

W3WP.exe PID: 1068   AppPoolId: apppool002001

W3WP.exe PID: 2948   AppPoolId: apppool025017

W3WP.exe PID: 7176   AppPoolId: apppool025016

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章