Är din dator långsam? Lär dig hur du identifierar problemet med Perfmon i Windows.

Senaste uppdateringen: 14/08/2025
Författare: Daniel Terrasa

  • PerfMon möjliggör mätning i realtid och långtidsregistrering med exakta och konfigurerbara räknare.
  • Collector Sets och Logman underlättar repeterbara inspelningar och automatisering på servrar.
  • Tröskelvärden för minne, processor, disk och nätverk hjälper till att upptäcka flaskhalsar och läckor.
  • Tillförlitlighetsmonitorn kompletterar analysen genom att visa fel och kompatibilitetsproblem.

PerfMon-prestandaövervakning på Windows

PerfMon (Performance monitor) är Det ultimata verktyget för övervakning i WindowsPerfMon: Låter dig visa realtids-, långsiktiga och analysera prestandamått för CPU, minne, disk, nätverk och specifika processer. Till skillnad från Aktivitetshanteraren tar PerfMon prover med jämna mellanrum och loggar till disk, vilket gör den idealisk för att leta efter problem som bara dyker upp efter timmar av körning, till exempel minnesöverskott eller resursläckor i tjänster och applikationer.

I den här artikeln visar vi dig hur man använder PerfMon. Från att välja och förstå rätt räknare och justera urval och skalning av diagram, till att skapa datainsamlingsuppsättningar för att logga mätvärden till fil (BLG/CSV).

Vad är PerfMon och när ska man använda det?

 

Prestandaövervakare (PerfMon) är den inbyggda Windows-räknarvisaren och -inspelningsfunktionen.Presenterar mätvärden i form av grafer och rådata som erhållits från system- och applikationsräknare (t.ex. från .NET CLR eller en specifik process). Dess största fördel jämfört med "snabba" verktyg som Uppgiftshanteraren är att du kan låta den vara igång i timmar eller dagar, med regelbundna prover, för att upptäcka verkliga trender (toppar, baslinjer, ihållande tillväxt).

PerfMon är avgörande för diagnostisera minnestillväxt, hantera eller trådläckoroch isolera problematiska komponenter genom att köra specifika tester. Om du till exempel misstänker en minnesläcka aktiverar du räknare som Private Bytes, Handle Count och Thread Count för den berörda processen, tillsammans med .NET CLR-minnesräknare som # Bytes in all Heaps och Gen 2 heap size för .NET-applikationer, för att se om tillväxten sker under eller utanför GC.

Öppna PerfMon och lägena /res /report /rel /sys

Sätt att öppna PerfMon och specialiserade lägen

 

Du kan öppna PerfMon från Start-menyn, sök efter "prestanda" eller "perfmon" och kör som administratör när du skapar loggar eller frågar efter fjärrdatorer.

Om du föredrar Kommandorad (Win+R eller CMD), har du mycket användbara direktlägen med följande syntax:

perfmon </res|report|rel|sys>

Vad gör varje alternativ?

  • /nötkött för att öppna resursvyn
  • /rapportera för att starta systemets diagnostikinsamlingssvit och visa en rapport.
  • / rel för att öppna Tillförlitlighetsmonitorn.
  • / sys för att gå direkt till den klassiska prestandamonitorn.

RådetOm du vill kontrollera utrustningens tillförlitlighet, perfmon / rel Det är en direkt genväg till stabilitet och bugghistorik.

Tillförlitlighetsövervakaren Den finns också i Kontrollpanelen > System och säkerhet > Säkerhet och underhåll. En annan genväg: skriv "reliab" i Start-menyns sökfält och välj "Visa tillförlitlighetshistorik". Du ser kritiska händelser, varningar och information per dag eller vecka, med tillgång till tekniska detaljer av program- och drivrutinsfel.

Exklusivt innehåll - Klicka här  Hur löser man kompatibilitetsproblem med en SSD?

Visualisering i realtid: lägga till och förstå räknare

 

Att se en livediagram, öppna "Prestandaövervakning" i trädet till vänster. Om det finns förinstallerade räknare och du vill börja rensa, markera dem i tabellen nedan och tryck på Del. Högerklicka sedan på > Lägg till räknare… i diagramområdet för att öppna dialogrutan med alla tillgängliga kategorier.

Välj intressekategorin, räknaren och objektinstansen (t.ex. din process). För att diagnostisera minne och resurser i en specifik app, lägg till dessa nyckelräknare från gruppen Behandla y .NET CLR-minne där så är lämpligt:

  • Process \ Privata bytePrivat minne allokerat av processen (delas inte med andra). Fortsatt tillväxt indikerar faktisk förbrukning av dess eget virtuella minne.
  • Process \ Antal hanteringar: antal öppna handtag. Konstanta ökningar indikerar ofta resursläckor (sessioner, systemobjekt).
  • Process \ TrådantalAntal aktiva trådar i processen. Oväntade toppar kan tyda på samtidighetsproblem eller oavslutade trådar.
  • .NET CLR-minne \ # Byte i alla heapsTotalt minne för .NET-objekt. Om det växer utan att stabiliseras, kontrollera GC-tryck och outgivna referenser.
  • .NET CLR-minne \ Gen 2-heapstorlekGeneration 2-högstorlek (långlivade objekt). Fortsatt tillväxt tyder på outnyttjade långlivade objekt.

Tolka grafen med ett kritiskt ögaOm du märker att Private Bytes ökar stadigt medan # Bytes i alla Heaps och Gen 2-heapstorleken förblir stabil, sker tillväxten inte i .NET-heapen utan i processens nativa minne/reserver. Detta mönster indikerar vanligtvis en läcka utanför GC (t.ex. ofrystna buffertar eller handtag).

Skalnings- och intervallinställningar i PerfMon

Justera grafen: skala, intervall och varaktighet

PerfMon tillåter justera synligheten för varje räknare och den historikperiod du ser. Tryck Ctrl + Skift + A. För att markera alla räknare i listan nedan, högerklicka och välj Skala valda räknare, så de kommer alla att vara synliga utan att en enda "plattar till" resten.

öppnar Diagramegenskaper Högerklicka på > Egenskaper… och ställ in samplingsfrekvensen på fliken Allmänt. Till exempel, sampla var 10:e sekund och ställ in Varaktighet till 10000 2,5 för att täcka cirka XNUMX timmar i vyn. Ju längre fenomenet är, desto mer utspridd bör samplingsfrekvensen vara för att undvika stora filer och överbelastning av datorn.

Extra tipsPerfMon exponerar ActiveX-egenskaper och -metoder, vilket gör att du kan integrera eller styra det från andra utvecklingsverktyg och till och med bädda in det som en kontroll i din egen applikation om det behövs.

Automatisera med Logman: Skapa, starta och stoppa

 

Logman.exe är kommandoradsverktyget för att skapa och hantera räknaruppsättningar.Öppna en kommandotolk med administratörsbehörighet och kör ett kommando som liknar följande för att skapa en stor kontinuerlig övervakningssvit med en cirkulär fil:

Exklusivt innehåll - Klicka här  Microsoft utökar Xbox-reparationsalternativen med nya leverantörer och reservdelar

Logman.exe create counter Avamar -o "c:\\perflogs\\Emc-avamar.blg" -f bincirc -v mmddhhmm -max 250 -c "\\LogicalDisk(*)\\*" "\\Memory\\*" "\\Network Interface(*)\\*" "\\Paging File(*)\\*" "\\PhysicalDisk(*)\\*" "\\Processor(*)\\*" "\\Process(*)\\*" "\\Redirector\\*" "\\Server\\*" "\\System\\*" -si 00:00:05

till starta och stoppa inspelning, använder:

Logman.exe start Avamar
Logman.exe stop Avamar

Kommandotips: -f bincirc skapar en cirkulär binär logg (-max begränsar storleken i MB), -si definierar samplingsintervallet och -c lägger till räknare i bulk för objekt och deras instanser. Använd citattecken och omvända snedstreck när du skriptar eller exporterar konfiguration.

När ska man använda Logman? Den är idealisk för samla in data på långa avstånd Automatisera diagnostik på servrar eller standardisera inspelningar på flera maskiner. Du kan schemalägga det med Schemaläggaren och rotera filer utan ingripande.

Tröskelvärden för prestandaräknare

Användbara räknare och tröskelvärden per delsystem

MinneÖvervakar faktisk kapacitet, personsökningstryck och systempoolens uttömning. Dessa räknare och riktlinjer hjälper till att skilja symptom från orsaker:

  • Minne \ % Använda byteProcentandel av allokerat minne över allokeringsgränsen. Om det konsekvent överstiger 80 %, granska växlingsfilens storlek och faktiska användning.
  • Minne \ Tillgängliga MByteFrigör fysiskt minne. Undersök om < 5 % RAM-minnet minskar upprepade gånger (och < 1 % är kritiskt).
  • Minne \ Bekräftade byteTotalt antal committerade byte. Bör inte variera kraftigt; frekventa ändringar kan resultera i expansion av sidfiler.
  • Minne \ Pool av icke-sidbara byte: icke-växlingsbar pool (objekt som inte kan spolas till disk). Ihållande mättnad (> 80 %) De är förknippade med händelser som 2019 (utmattning av icke-sidbara pooler).
  • Minne \ Pool av sidbyte: : paginerad pool. Varaktiga värden > 70 % av maximum indikerar en risk för en händelse 2020 (paginerad poolutmattning).

ProcessornLeta efter ihållande belastningar och tunga I/O-signaler eller bullriga drivrutiner.

  • Processorinformation \ % Processortid (alla instanser): >90 % kvarstår på 1 processor eller >80 % på multiprocessor tyder på CPU-överbelastning.
  • Processor \ % Privilegierad tidKärnlägestid. Om 30 % kontinuerligt överskrids på app-/webbservrar kan det tyda på för hög arbetsbelastning på drivrutiner eller system.
  • Processor \ % Avbrottstid y % DPC-tid: > 25 % tyder på intensiv enhetsaktivitet (nätverkskort, disk osv.).
  • System \ Kontextväxlar/sek y Processor \ Avbrott/sek: användbart för att visa kontextväxlingstryck och avbrottsaktivitet.

Röt: pekar på nätverkskortshälsa och kommunikationskvalitet.

  • Nätverksgränssnitt\Mottagna paket ignoreradebör förbli nära noll; stigande värden indikerar vanligtvis otillräckliga buffertar/hårdvara.
  • Fel vid mottagna paket i nätverksgränssnitt: : fel > 2 kvarstående kräver granskning av länkar/kablar/drivrutiner.

Discomäter mättnad, latens och kapacitet.

  • Fysisk disk \ % Inaktiv tid: procentandel av inaktivitetstid. Ihållande låg kapacitet indikerar en upptagen disk; det återspeglar den återstående kapaciteten väl.
  • Fysisk disk \ Genomsnittlig disksek/läsning y Genomsnittlig disksek/skrivtidGenomsnittlig latens. Typiska referenser (riktlinjer): Utmärkta läsningar < 8 ms, acceptabla < 12 ms, hyfsade < 20 ms, dåliga > 20 ms; Utmärkta skrivningar < 1 ms, bra < 2 ms, hyfsade < 4 ms, dåliga > 4 ms.
  • Fysisk disk \ Genomsnittlig diskkölängd: genomsnittliga svansar. Värden under 2× är vanligtvis rimliga.
  • Fysisk disk \ Delad IO/sekundI/O-enheter delas upp på grund av fragmentering eller otillräckliga blockstorlekar. Ju lägre desto bättre.
  • Logisk disk \ % ledigt utrymmeLämna alltid > 15 % fritt (rekommenderas ≥ 25 %) på systemets logiska volymer.
Exklusivt innehåll - Klicka här  Vad är AirPods Pro?

Diskobjekt: fysiska vs. logiska.

  • Fysisk disk lägger till åtkomst till alla partitioner på en fysisk enhet (identifierar hårdvaran).
  • Logisk disk Mäter en specifik partition eller monteringspunkt. Med dynamiska diskar kan en logisk volym omfatta flera fysiska diskar, och dess räknare kommer att återspegla totalen.

Process: att korrelera resurser med beteendet hos en specifik app, övervaka Process \ % Processortid, Privata byte, Virtuella byte y Arbetsset. Antal handtag Det är viktigt om du misstänker läckor i poolen; tillväxt av handtag gifter sig ofta med onormala ökningar av Pool Icke-växlingsbar/Växlingsbar.

Tillförlitlighetsmonitor: Undersök fel och kompatibilitet

Windows Tillförlitlighetsövervakare sammanfattar stabilitet och händelser per dag eller vecka, klassificering kritisk, varning och informationFrån varje kolumn kan du öppna "Visa tekniska detaljer" för att granska moduler, kod och digitala signaturer för de involverade binärfilerna.

  • Praktiskt exempelDu hittar poster som svchost.exe_MapsBroker eller andra kraschande program. Ibland tillhör den rapporterade modulen (t.ex. Kernelbase.dll) Windows-kärnan och är signerad av Microsoft, vilket tyder på att grundorsaken inte är kärnan, utan snarare programmet eller ett plugin som körs i ditt användarutrymme.
  • Vad man ska göra när en gammal app slutar fungeraKör felsökaren för kompatibilitet och försök att tvinga fram kompatibilitetsläge (t.ex. Windows 7) och inaktivera skalning med hög DPI om du stöter på gränssnitts- eller prestandaproblem. Den här inställningen har visat sig lösa krascher i äldre programvara.
  • Kopplar stabilitetsresultat med PerfMonKombinerar kraschhistorik med räknarloggar för att se om privata byte, handle-antal eller disklatens var hög före kraschen. Denna korrelation ger dig en tråd att dra.
  • Praktisk stängningMed PerfMon och Reliability Monitor kan du diagnostisera allt från symptom (krasch, långsamhet) till orsak (minnesläcka, diskflaskhals, 100 % CPU, nätverksfel), med stöd av räknare och tröskelvärden som tydligt vägleder dig.

Om du behöver det en snabbguide för att komma igångÖppna PerfMon, lägg till räknare för målprocessen (privata byte, % processortid, etc.), justera sampling och varaktighet för att täcka det fönster där problemet uppstår, logga till fil med en Collector Set och, om tillämpligt, automatisera med Logman på servrar eller testmiljöer som behöver köras i timmar.