Felsöka hög CPU-användning på en WSUS-server
I den här artikeln beskrivs flera procedurer för felsökning av hög CPU-användning i Windows Server Update Service (WSUS).
Kommentar
Hemanvändare: Den här artikeln är endast avsedd för tekniska supportagenter och IT-proffs. Om du behöver hjälp med ett problem kan du fråga Microsoft Community.
Ursprunglig produktversion: Configuration Manager (aktuell gren)
Ursprungligt KB-nummer: 4489045
Hög CPU-användning kan inträffa om WSUS-databasen (SUSDB) inte är ren. När servern har körts ett tag kan det finnas för många uppdateringar för WSUS-servern att tillhandahålla till klienterna.
Om ett fel inträffar eller om en ny WSUS-server är installerad eller om ett orelaterat problem hindrar klienter från att söka i några dagar, kan alla klienter börja genomsöka och fortsätta genomsöka hela tiden och aldrig slutföra en genomsökning eller installera uppdateringar.
För att åtgärda problemet måste du rensa WSUS-servern och avvisa ersatta uppdateringar. Följ stegen i ordningen nedan som en månatlig rensningsrutin. Men om du felsöker problem med hög CPU rekommenderar vi att du gör steg 4 först och sedan steg 3. Du bör skjuta upp steg 1 och 2 tills cpu-användningsnivån minskar.
Steg 1: Säkerhetskopiera WSUS-databasen
Att säkerhetskopiera WSUS-databasen kan förbättra prestandan något.
Steg 2: Kör rensningsguiden för WSUS-servern
Om du kör rensningsguiden för WSUS-servern kan du förbättra databasprestandan. Det minskar dock inte antalet uppdateringar som klienterna genomsöker. Dessutom kan det ta många timmar eller dagar innan guiden körs utan att nödvändigtvis lösa problemet.
Steg 3: Indexera om WSUS-databasen
Om du indexerar om WSUS-databasen kan du förbättra databasprestandan om den är fragmenterad. Det gör du genom att köra följande kommandon.
statistics
Uppdatera med hjälpFULLSCAN
av alternativet .Use <dbname> Go Exec sp_msforeachtable 'update statistics ? with fullscan' Go
Återskapa indexen.
Use <dbname> Go Exec sp_msforeachtable 'DBCC DBREINDEX (''?'')' Go
Steg 4: Neka ersatta uppdateringar
Minskande ersatta uppdateringar minskar omedelbart antalet uppdateringar som genomsöks.
Om du vill neka ersatta uppdateringar eller utföra WSUS-åtgärder i en situation där WSUS-programpoolen återanvänds för snabbt kan du först stoppa klienterna från att ansluta till WSUS-programpoolen. Det gör du genom att ansluta till WSUS-servern med hjälp av WSUS-konsolen och sedan synkronisera WSUS-servern med den överordnade servern och med Configuration Manager (om den används). Om du använder Configuration Manager är det viktigt att synkronisera med den senaste versionen av uppdateringen i Configuration Manager-konsolen så att klienterna ser att WSUS har aktuella och giltiga uppdateringar.
Om du vill koppla från klienterna använder du någon av följande metoder.
Metod 1: Skapa en testprogrampool
Högerklicka på Programpooler i IIS-hanteraren (Internet Information Services) och välj sedan Lägg till programpool för att skapa en testprogrampool.
Välj Klientwebbtjänst>Hantera program>Avancerade inställningar och ändra sedan programpoolen till den testprogrampool som du skapade.
Metod 2: Ändra porten för WSUS-webbplatsen
Välj WSUS Administration Webbplats>Redigera bindningar.
Ändra WSUS-konsolen så att den ansluter till den nya porten, kör skriptet och synkroniserar med USS.
Kommentar
Den här metoden gör att synkroniseringen med Configuration Manager misslyckas.
Metod 3: Använd brandväggsregler för att blockera alla klient-IP-adresser eller tillåta endast inkommande ANSLUTNINGAR för USS och platsserver
När klienterna är frånkopplade från WSUS-servern kan du köra PowerShell-skriptet med hjälp av parametrarna -skipdecline
(och -exclusion
punkt, om det behövs) för att fastställa det totala antalet ersatta uppdateringar som kan avvisas. Kör sedan skriptet igen med hjälp -skipdecline
av för att faktiskt avvisa uppdateringarna.
I extrema fall där PowerShell-skriptet inte kan köras på grund av tidsgränser kan du lägga till kolumnen supersedence i WSUS-konsolen när alla uppdateringar visas och sedan avvisa uppdateringarna manuellt genom att följa dessa steg:
- Öppna Microsoft Management Console (MMC) för Windows Update Services.
- Välj vyn Alla uppdateringar. Om du vill göra det ställer du in visningen för att visa godkännandestatusen för Alla utom Nekad med statusen Alla och klickar sedan på Uppdatera.
- Högerklicka på kolumnrubrikerna och välj sedan Ersätt.
- Vänsterklicka på kolumnen Supersedence för att sortera efter ersättning.
- Välj och avvisa de ersatta uppdateringarna.
Prestandaproblemet kan normalt lösas när den giltiga uppdateringen har reducerats till färre än 7 000 anslutningar (men färre än 5 000 rekommenderas). Du kan behöva begränsa anslutningar till WSUS-administrationswebbplatsen i några dagar för att klienterna ska kunna slutföra alla genomsökningar. Vi rekommenderar också att du indexerar om databasen när du avböjer ersatta uppdateringar. Om du använder Configuration Manager utför du även en synkronisering mellan WSUS och Configuration Manager medan klienterna inte ansluter.
När du har slutfört de här stegen bör du begränsa anslutningarna om processoranvändningen fortfarande är för hög. För att göra detta följer du stegen nedan:
Öppna Internet Information Services (IIS) Manager>WSUS Administration Webbplats>Hantera webbplats>Avancerade inställningar>Begränsar>maximalt antal samtidiga anslutningar.
Ange värdet till 50 eller 100.
Övervaka W3Wp-processen i Aktivitetshanteraren och den totala processorn på servern.
Öppna Aktivitetshanterarens >resursövervakare och notera PID för WSUS-programpoolen. Om du är osäker på vilken w3wp-process som kör WSUS-programpoolen kan du enkelt använda Appcmd (metod 2) för att identifiera PID.
Som standard bör PID bara ändras en gång var 29:e timme. Om den ändras oftare kan anslutningsgränsen vara för hög för den aktuella cpu- och minnesinställningen för WSUS-programpoolen.
Övervaka för stabilt w3wp-minne och stabil total CPU-användning på mindre än 90 procent. I takt med att cpu- och minnesanvändningen minskar kan du långsamt öka anslutningsgränserna till WSUS-administrationswebbplatsen. Beroende på vilken typ av situation du befinner dig i kan minnesanvändningen ta flera dagar att återgå till ett stabilt tillstånd. En ökning av anslutningsgränserna kan behöva ske i små steg och under flera dagar.