- PerfMon muliggør måling i realtid og langtidsoptagelse med præcise og konfigurerbare tællere.
- Collector Sets og Logman muliggør gentagne optagelser og automatisering på servere.
- Tærskler for hukommelse, CPU, disk og netværk hjælper med at opdage flaskehalse og lækager.
- Pålidelighedsovervågningen supplerer analysen ved at vise fejl og kompatibilitetsproblemer.

PerfMon (Performance Monitor) Er Det ultimative værktøj til overvågning i WindowsPerfMon: Giver dig mulighed for at se realtids-, langsigtede og analysere ydeevnemålinger for CPU, hukommelse, disk, netværk og specifikke processer. I modsætning til Jobliste tager PerfMon prøver med jævne mellemrum og logger dem på disken, hvilket gør den ideel til at finde problemer, der først dukker op efter flere timers kørsel, såsom hukommelsesoverløb eller ressourcelækager i tjenester og applikationer.
I denne artikel viser vi dig hvordan man bruger PerfMon. Fra at vælge og forstå de rigtige tællere og justere stikprøvetagning og skalering af diagrammer, til at oprette dataindsamlersæt for at logge metrikker til fil (BLG/CSV).
Hvad er PerfMon, og hvornår skal man bruge det?
Performance Monitor (PerfMon) er den indbyggede Windows-tællerfremviser og -optager.Præsenterer metrikker i form af grafer og rådata hentet fra system- og applikationstællere (f.eks. fra .NET CLR eller en specifik proces). Dens største fordel i forhold til "hurtige" værktøjer som f.eks. Task manager er, at du kan lade den køre i timevis eller dage, med periodiske prøver, for at opdage reelle tendenser (toppe, basislinjer, vedvarende vækst).
PerfMon er afgørende for diagnosticere hukommelsesvækst, håndtering eller trådlækager, og isolere problematiske komponenter ved at køre specifikke tests. Hvis du f.eks. har mistanke om en hukommelseslækage, aktiverer du tællere som Private Bytes, Handle Count og Thread Count for den berørte proces, sammen med .NET CLR-hukommelsestællere som # Bytes in all Heaps og Gen 2 heap-størrelse for .NET-applikationer for at se, om væksten sker under eller uden for GC'en.

Måder at åbne PerfMon og specialiserede tilstande på
Du kan åbne PerfMon Fra Start-menuen skal du søge efter "performance" eller "perfmon" og køre som administrator når du opretter logfiler eller forespørger på eksterne computere.
Hvis du foretrækker Kommandolinje (Win+R eller CMD), har du meget nyttige direkte tilstande med følgende syntaks:
perfmon </res|report|rel|sys>
Hvad gør hver mulighed?
- /oksekød for at åbne ressourcevisningen
- /rapport for at starte systemets diagnosticeringsindsamlersuite og se en rapport.
- / rel for at åbne Pålidelighedsovervågning.
- / sys for at gå direkte til den klassiske præstationsmonitor.
rådHvis du vil kontrollere udstyrets pålidelighed, perfmon / rel Det er en direkte genvej til stabilitet og fejlhistorik.
Driftsikkerhed Monitor Den findes også i Kontrolpanel > System og sikkerhed > Sikkerhed og vedligeholdelse. En anden genvej: skriv "reliab" i Start-menuen og vælg "Vis pålidelighedshistorik". Du vil se kritiske hændelser, advarsler og oplysninger pr. dag eller uge med adgang til tekniske detaljer af applikations- og driverfejl.
Visualisering i realtid: tilføjelse og forståelse af tællere
At se en live-diagram, åbn "Performance Monitor" i træet til venstre. Hvis der er forudindlæste tællere, og du vil starte rensningen, skal du vælge dem i tabellen nedenfor og trykke på Del. Højreklik derefter på > Tilføj tællere… i diagramområdet for at åbne dialogboksen med alle tilgængelige kategorier.
Vælg interessekategorien, tælleren og objektinstansen (f.eks. din proces). For at diagnosticere hukommelse og ressourcer i en bestemt app skal du tilføje disse nøgletællere fra gruppen Proces y .NET CLR-hukommelse hvor det er relevant:
- Proces \ Private bytesPrivat hukommelse allokeret af processen (ikke delt med andre). Vedvarende vækst angiver faktisk forbrug af dens egen virtuelle hukommelse.
- Proces \ Antal håndtag: antal åbne handles. Konstante stigninger indikerer ofte ressourcelækager (sessioner, systemobjekter).
- Proces \ TrådantalAntal aktive tråde i processen. Uventede stigninger kan indikere samtidighedsproblemer eller uafsluttede tråde.
- .NET CLR-hukommelse \ # Bytes i alle heaps: Samlet hukommelse for .NET-objekter. Hvis den vokser uden at stabilisere sig, skal du kontrollere for GC-tryk og uudgivne referencer.
- .NET CLR-hukommelse \ Gen 2 heapstørrelseGeneration 2-bunkestørrelse (elementer med lang levetid). Fortsat vækst tyder på uindsamlede elementer med lang levetid.
Fortolk grafen med et kritisk blikHvis du bemærker, at Private Bytes stiger støt, mens # Bytes i alle Heaps og Gen 2 heap-størrelsen forbliver stabil, er væksten ikke i .NET-heapen, men i processens native hukommelse/reserver. Dette mønster indikerer normalt en lækage uden for GC'en (f.eks. ikke-frosne buffere eller handles).

Juster grafen: skala, interval og varighed
PerfMon tillader juster synligheden af hver tæller og den historikperiode, du ser. Trykke Ctrl+Shift+A For at vælge alle tællerne på listen nedenfor skal du højreklikke og vælge Skalér valgte tællere, så de vil alle være synlige uden at en af dem "flader resten ud".
åbner Egenskaber for diagram Højreklik på > Egenskaber… og indstil samplingsfrekvensen under fanen Generelt. For eksempel, tag sampling hvert 10. sekund, og indstil Varighed til 10000 for at dække cirka 2,5 timer i visningen. Jo længere fænomenet er, desto mere spredt bør samplingsfrekvensen være for at undgå store filer og overbelastning af din computer.
Ekstra tipPerfMon eksponerer ActiveX-egenskaber og -metoder, så du kan integrere eller kontrollere det fra andre udviklingsværktøjer og endda integrere det som et kontrolelement i din egen applikation, hvis det er nødvendigt.
Automatiser med Logman: Opret, start og stop
Logman.exe er kommandolinjeværktøjet til oprettelse og administration af tællersæt.Åbn en kommandoprompt med administratorrettigheder, og kør en kommando svarende til følgende for at oprette en stor kontinuerlig overvågningssuite med en cirkulær fil:
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
til start og stop optagelse, bruger:
Logman.exe start Avamar
Logman.exe stop Avamar
Kommandotips: -f bincirc opretter en cirkulær binær log (-max begrænser størrelsen i MB), -si definerer samplingsintervallet, og -c tilføjer tællere i bulk for objekter og deres instanser. Brug anførte stier og omvendte skråstreger, når du skriver scripts eller eksporterer konfiguration.
Hvornår skal man bruge Logman? Det er ideelt til indsamle data over lange afstande Automatiser diagnosticering på servere eller standardiser optagelser på tværs af flere maskiner. Du kan planlægge det med Opgavestyring og rotere filer uden indgriben.

Nyttige tællere og tærskler pr. delsystem
hukommelseOvervåger faktisk kapacitet, pagingtryk og udtømning af systempuljen. Disse tællere og retningslinjer hjælper med at adskille symptomer fra årsager:
- Hukommelse \ % af brugte bytesProcentdel af dedikeret hukommelse over dedikeringsgrænsen. Hvis den konsekvent overstiger 80 %, skal du kontrollere sidefilens størrelse og det faktiske forbrug.
- Hukommelse \ Tilgængelige MBytesFrigør fysisk hukommelse. Undersøg om < 5% RAM falder gentagne gange (og < 1% er kritisk).
- Hukommelse \ Committede bytesSamlet antal committede bytes. Bør ikke variere kraftigt; hyppige ændringer kan resultere i udvidelser af sidefiler.
- Hukommelse \ Pool Ikke-sidede bytes: ikke-sidet pulje (objekter, der ikke kan flyttes til disk). Vedvarende mætninger (> 80%) De er forbundet med begivenheder som 2019 (udtømning af ikke-pagede bassiner).
- Hukommelse \ Pool-sidede bytes: : pagineret pulje. Vedvarende værdier > 70 % af maksimumværdien indikerer en risiko for en hændelse i 2020 (pagineret puljeudtømning).
processorSe efter vedvarende belastninger og tunge I/O-signaler eller støjende drivere.
- Processorinformation \ % Processortid (alle tilfælde): >90 % vedvarende på 1 CPU eller >80 % på multiprocessor tyder på CPU-overbelastning.
- Processor \ % Privilegeret tidKernetilstandstid. Hvis app-/webservere konstant overstiger 30 %, kan det være tegn på for stor driver- eller systembelastning.
- Processor \ % Afbrydelsestid y % DPC-tid: > 25 % peger på intens enhedsaktivitet (netværkskort, disk osv.).
- System \ Kontekstskift/sek. y Processor \ Afbrydelser/sek.: nyttigt til visning af kontekstskiftetryk og afbrydelsesaktivitet.
Rød: peger på NIC-sundhed og kommunikationskvalitet.
- Netværksgrænseflade\Modtagne pakker kasseretbør forblive tæt på nul; stigende værdier indikerer normalt utilstrækkelige buffere/hardware.
- Fejl ved modtagelse af netværksgrænseflade\pakker: : fejl > 2 vedvarende kræver gennemgang af links/kabler/drivere.
Disco: måler mætning, latenstid og kapacitet.
- Fysisk disk \ % inaktiv tid: procentdel af inaktiv tid. Vedvarende lav kapacitet indikerer en travl disk; det afspejler den resterende kapacitet godt.
- Fysisk disk \ Gennemsnitlig disk sek./læsning y Gennemsnitlig disk sek./skrivGennemsnitlig latenstid. Typiske referencer (retningslinjer): Fremragende læsning < 8 ms, acceptabel < 12 ms, rimelig < 20 ms, dårlig > 20 ms; Fremragende skrivning < 1 ms, god < 2 ms, rimelig < 4 ms, dårlig > 4 ms.
- Fysisk disk \ Gennemsnitlig diskkølængde: gennemsnitlige haler. Værdier under 2× er normalt rimelige.
- Fysisk disk \ Opdel IO/sek.I/O'er opdeles på grund af fragmentering eller utilstrækkelige blokstørrelser. Jo lavere, jo bedre.
- Logisk disk \ % ledig pladsLad altid > 15% være fri (anbefalet ≥ 25%) på systemets logiske volumener.
Diskobjekter: fysisk vs. logisk.
- Fysisk disk tilføjer adgang til alle partitioner på en fysisk enhed (identificerer hardwaren).
- Logisk disk Måler en specifik partition eller et monteringspunkt. Med dynamiske diske kan en logisk diskenhed strække sig over flere fysiske diske, og dens tællere vil afspejle det samlede beløb.
Proces: at korrelere ressourcer med en specifik apps adfærd, overvåge Proces \ % Processortid, Private bytes, Virtuelle bytes y Arbejdssæt. Antal håndtag Det er vigtigt, hvis du har mistanke om lækager i poolen; vækst af håndtag gifter sig ofte med unormale stigninger i Pool Ikke-sidet/sidet.
Pålidelighedsovervågning: Undersøg fejl og kompatibilitet
Windows Pålidelighedsovervågning opsummerer stabilitet og hændelser pr. dag eller uge, klassificering kritisk, advarsel og informationFra hver kolonne kan du åbne "Vis tekniske detaljer" for at inspicere moduler, kode og digitale signaturer for de involverede binære filer.
- Praktisk eksempelDu finder poster som svchost.exe_MapsBroker eller andre programmer, der går ned. Nogle gange tilhører det rapporterede modul (f.eks. Kernelbase.dll) Windows-kernen og er signeret af Microsoft, hvilket tyder på, at roden til problemet ikke er kernen, men snarere programmet eller et plugin, der kører i dit brugerområde.
- Hvad skal man gøre, når en gammel app fejlerKør kompatibilitetsfejlfindingen, og prøv at gennemtvinge kompatibilitetstilstand (f.eks. Windows 7) og deaktivere høj DPI-skalering, hvis du støder på problemer med grænsefladen eller ydeevnen. Denne indstilling har vist sig at løse nedbrud i ældre software.
- Forbinder stabilitetsresultater med PerfMonKombinerer nedbrudshistorik med tællerlogfiler for at se, om private bytes, handle-antal eller diskforsinkelse var høj før nedbruddet. Denne korrelation giver dig en tråd at trække på.
- Praktisk lukningMed PerfMon og Reliability Monitor kan du diagnosticere fra symptomer (nedbrud, langsomhed) til årsag (hukommelseslækage, diskflaskehals, 100% CPU, netværksfejl), understøttet af tællere og tærskler, der tydeligt guider dig.
Hvis du har brug for det en hurtig guide til at komme i gangÅbn PerfMon, tilføj tællere for målprocessen (private bytes, % processortid osv.), juster sampling og varighed for at dække det vindue, hvor problemet opstår, log til fil med et Collector Set, og automatiser, hvis det er relevant, med Logman på servere eller testmiljøer, der skal køre i timevis.
Redaktør med speciale i teknologi og internetspørgsmål med mere end ti års erfaring i forskellige digitale medier. Jeg har arbejdet som redaktør og indholdsskaber for e-handel, kommunikation, online marketing og annoncevirksomheder. Jeg har også skrevet på økonomi, finans og andre sektorers hjemmesider. Mit arbejde er også min passion. Nu gennem mine artikler i Tecnobits, Jeg forsøger at udforske alle de nyheder og nye muligheder, som teknologiens verden tilbyder os hver dag for at forbedre vores liv.