Feilsøk problemer med utmattelse av problemer i Windows
En hvilken som helst nettverkstilkobling mellom datamaskiner (TCP- eller UDP-protokoller), gjøres gjennom portene. Tenk på disse som inngangspunkter eller gateways som brukes av en tjeneste eller et program. Etter hvert som flere klientforbindelser er gjort, mangler portene i tellingen. I dette innlegget vil vi dele hvordan du feilsøker Havutmattelse problemer.
Det er to typer porter - Dynamiske porter og Definerte porter. Dynamiske porter tillater flere klienter å koble til definerte porter. Nettsteder er et godt eksempel. De har vanligvis definert port 80, men ved hjelp av en aktiv port kan de betjene flere klienter. Siden det er en grense for dynamisk port, begynner forbindelsene å mislykkes når alle portene er opptatt. Det kalles havutmattelse.
Feilsøk portutmattelse i Windows
Det primære motivet til denne feilsøkingsguiden er å identifisere hvilken prosess eller applikasjon som utmater porten. Når du har bestemt det, er neste trinn å fikse appen.
Symptomer for å identifisere portutmattelse:
1] Kan ikke logge på maskinen med domenenavn, men logg inn med lokale kontoer. Det er mulig at en allerede brukt konto kan fungere, men den nye vil mislykkes. Det skjer på grunn av caching.
2] Gruppepolicyoppdatering begynner å mislykkes. Hver gang du prøver å gjøre endringer, kan du få en feil som sier "mislyktes på grunn av mangel på nettverkstilkobling med domenekontroller" Det kan være midlertidig, men er et tegn.
3] Filaktier eller nettverksstasjoner blir utilgjengelige.
4] Eksternt skrivebord til serveren der applikasjonen er vert, mislykkes.
Andre tegn inkluderer event id 4227, 4231 i Event viewer for TCP med en melding om at tildeling av dynamisk port mislyktes. NetStat-kommandoen viser et stort antall oppføringer for TIME_WAIT-tilstand for et bestemt program, og så videre.
Bruk NetStat for Windows 10 og Windows Server 2016
- Åpne kommandoprompt med forhøyede rettigheter.
- Kjør kommandoen
netstat -anobq
- Deretter kontrollerer du prosess-IDen som har maksimale oppføringer som BOUND.
Hvis du bruker PowerShell, kan du bruke kommandoen nedenfor for å identifisere prosessen med maksimal Bound.
Get-NetTCPConnection | Group-Object -Property State, OwningProcess | Velg -Property Count, Name, @ Name = "ProcessName"; Ekspresjon = (Get-Process -PID ($ _ .Name.Split (',') [- 1] .Trim ("))). Navn , Gruppe | Sorter Count -Descendin
Mange ganger lukker klientene ikke portene riktig. Selv ikke i bruk, er disse portene ikke ledige. Det er en av de største grunnene til utmattelse av havnen.
Hvis behovet er hyppig, kan du bruke Netstat kommando i en loop. Utgangen kan bli tilgjengelig i en tekstfil som kan brukes til å overvåke trenden. Her ser du hvordan skriptet ser ut:
@ECHO ON sett v =% 1: loop sett / a v + = 1 ECHO% dato%% time% >> netstat.txt netstat -ano >> netstat.txt PING 1.1.1.1 -n 1 -w 60000> NUL goto loop
Bruk Oppgavebehandling til å finne maksimale håndtak
En litt mer naturlig metode for å finne slike programmer, bruker Oppgavebehandling. Mens PowerShell og Command Prompts har sine egne fordeler, hvis du vil se prosessen raskt, er dette en bedre metode.
- Åpne Oppgavebehandling, og bytt til Detaljer-fanen.
- Høyreklikk på noen av kolonnene, og klikk på "Velg kolonner.”
- Legg til "Håndtak" fra de tilgjengelige alternativene.
- Klikk på håndtakets kolonneoverskrift for å sortere det etter maksimumsnummer.
Microsoft foreslår at hvis noen tilkoblinger mislykkes, kontroller du om antall håndtak er høyere enn 3000. Hvis det er tilfelle, så er søknaden skyldig. OS-tjenestene er imidlertid et unntak til dette. For andre, stopp denne prosessen en gang, og prøv deretter å logge på ved hjelp av domeneregister og se om det lykkes.
Prosess Explorer
Du kan bruke Process Explorer hvis Tasksbehandling ikke hjelper. Det er nyttig for å spore opp DLL-versjon problemer eller håndtere lekkasjer og gi innsikt i rouge applikasjoner. Process Explorer bør lastes ned herfra og installeres. Pass på å kjøre den med forhøyede rettigheter.
- Høyreklikk på kolonneoverskriften, og velg deretter "Velg kolonner".
- Bytt til Performance Tab, og legg til Håndtak.
- Fra menyen, klikk på Vis> Vis nedre rute.
- Igjen klikk på menyen, velg Vis> Nedre panelvisning> Håndtak.
- Sorter håndtakene i synkende rekkefølge.
- Det vil avsløre prosessen (er) med høyeste håndtakstall
- Klikk for å markere en av prosessene med topphåndtakstellingen.
- Nedre panelet vil avsløre type for alle håndtakene. Porter eller stikkontakter er vanligvis med "File \ Device \ AFD" etiketter.
Lukk prosessen med et stort antall håndtak. Hvis søknaden gis tilbake, kan det være årsaken, og du må fikse programmet eller spør utvikleren av OEM for å fikse det. Hvis du ikke kan fikse det fordi søknaden krever det, bør du vurdere å øke antall porter datamaskinen kan bruke. Kommandoen nedenfor (eksempel) kan endre rekkevidden og heve den.
netsh int ipv4 sett dynamicport tcp start = 10000 num = 1000
Den minimale startporten som kan settes, er 1025. Den maksimale endeporten kan ikke overstige 65535.
Når det er sagt, er løsningen fortsatt midlertidig. Som IT-administrasjon må du finne en bedre løsning for å feilsøke portutmattelse. Noen ganger kan flere servere brukes til å øke porter, men det er en annen liga helt.