国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術(shù)知識庫 >  云服務(wù)器 >  服務(wù)器教程 >  查看 IIS 中每個網(wǎng)站的資源使用情況

查看 IIS 中每個網(wǎng)站的資源使用情況

2024-12-16 15:11:41 5075

歡迎來到藍(lán)隊云技術(shù)小課堂,每天分享一個技術(shù)小知識。


IIS 服務(wù)器上,特別是運行虛擬主機環(huán)境時,很多管理員都會遇到 CPU 占用 100% 或系統(tǒng)資源異常的情況,但往往不知道是哪個網(wǎng)站導(dǎo)致了問題。以下方法可以幫助我們快速定位每個站點的資源使用情況(主要是內(nèi)存和 CPU 占用)。

 

步驟一:將每個網(wǎng)站設(shè)置為獨立進(jìn)程

1.打開 IIS 管理器

選擇具體的站點,右鍵點擊 “屬性”。

切換到 “主目錄” 選項卡,將 “應(yīng)用程序保護(hù)” 改為 “高(獨立)”。

這樣會為每個站點啟動一個獨立的 dllhost.exe 進(jìn)程。

 

2.查看獨立進(jìn)程的資源占用

打開 任務(wù)理器,切換到 “進(jìn)程” 選項卡。

你會看到多個 dllhost.exe 進(jìn)程,每個進(jìn)程對應(yīng)一個獨立的站點。

此時可以看到這些進(jìn)程的 CPU 占用 和 內(nèi)存使用量。

 

步驟二:找到每個站點對應(yīng)的進(jìn)程(dllhost.exe)

接下來,我們需要確認(rèn)每個 dllhost.exe 進(jìn)程對應(yīng)的是哪個網(wǎng)站。

 

1.打開組件服務(wù)管理器

運行 中輸入 dcomcnfg,按回車打開 組件服務(wù)。

依次展開:組件服務(wù) → 計算機 → 我的電腦 → COM+ 應(yīng)用程序。

 

2.查看站點與進(jìn)程的關(guān)聯(lián)

COM+ 應(yīng)用程序 下,你會看到類似于 IIS-{domain.com//Root} 這樣的條目。

每個條目代表一個 IIS 網(wǎng)站,名稱中包含對應(yīng)的域名或站點路徑。

點擊頂部工具欄中的 “狀態(tài)查看”,你會看到如下信息:

名稱 運行狀態(tài) PID

IIS-{example.com//Root} 1688

PID 就是對應(yīng)的 dllhost.exe 進(jìn)程 ID,可以在任務(wù)管理器中找到。

 

3.確認(rèn)資源占用

打開任務(wù)管理器 → “詳細(xì)信息” 選項卡。

找到對應(yīng)的 dllhost.exe,對比進(jìn)程 ID(PID),即可查看該網(wǎng)站的 CPU 占用 和 內(nèi)存使用量。

這樣就能快速定位是哪個網(wǎng)站導(dǎo)致了資源占用異常。

 

步驟三:通過 PowerShell 腳本快速定位

如果服務(wù)器站點較多,手動排查效率低,可以通過 PowerShell 腳本實現(xiàn)快速定位。

# 加載 IIS 模塊

Import-Module WebAdministration

 

# 獲取所有運行的 w3wp.exe 進(jìn)程和對應(yīng)的資源占用

$Processes = Get-Process w3wp -ErrorAction SilentlyContinue

$AppPools = Get-WebAppPoolState | Where-Object { $_.Value -eq "Started" }

 

# 遍歷應(yīng)用程序池,輸出內(nèi)存和 CPU 占用

foreach ($AppPool in $AppPools) {

    $AppPoolName = $AppPool.ItemXPath.Split("/")[-1]

    $PID = (Get-WmiObject Win32_Process | Where-Object { $_.Name -eq "w3wp.exe" -and $_.CommandLine -match $AppPoolName }).ProcessId

    if ($PID) {

        $Process = $Processes | Where-Object { $_.Id -eq $PID }

        Write-Output "App Pool: $AppPoolName | PID: $PID | Memory: $($Process.WorkingSet / 1MB) MB | CPU: $($Process.CPU)"

    }

}

腳本功能:

列出每個 IIS 應(yīng)用程序池的進(jìn)程 ID、內(nèi)存使用量和 CPU 使用率。

適用于需要快速定位資源占用高的站點。

 

步驟四:結(jié)合 Perfmon 進(jìn)行深入分析

1.打開 性能監(jiān)視器(Perfmon):

運行 中輸入 perfmon.msc 并回車。

 

2.添加 w3wp 或 dllhost 進(jìn)程的監(jiān)控:

在左側(cè)面板中,選擇 “性能監(jiān)視器”,然后點擊 “添加計數(shù)器”。

添加 Process → Working Set(內(nèi)存占用) 和 % Processor Time(CPU 占用)。

選中對應(yīng)的進(jìn)程,查看資源占用情況。


藍(lán)隊云官網(wǎng)上擁有完善的技術(shù)支持庫可供參考,大家可自行查閱,更多技術(shù)問題,可以直接咨詢。同時,藍(lán)隊云整理了運維必備的工具包免費分享給大家使用,需要的朋友可以直接咨詢。

更多技術(shù)知識,藍(lán)隊云期待與你一起探索。

提交成功!非常感謝您的反饋,我們會繼續(xù)努力做到更好!

這條文檔是否有幫助解決問題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問題: