professor green
Bronze Level Poster
Der er kun to Windows-kontroller til rådighed for brugeren, der påvirker applikations-CPU-ydeevne, basisprioritet og CPU-affinitet, og ved at bruge en af dem er det mere sandsynligt, at resultaterne bliver værre snarere end bedre. Det er overraskende let med disse kontroller for at gøre hele dit system trægt og endda hænge og tvinger en genstart. Hvor disse kontroller er moderat nyttige, er der fejlfinding i CPU-ydeevnen, hvor de kan hjælpe med at identificere, hvilken applikation der forårsager CPU-ydeevneproblemer. Af denne grund alene er det værd at forstå, hvad disse kontroller gør, og hvordan de bedst kan bruges.
Processer og tråde
Vi tror, når det gælder applikationer, starter vi Chrome-browseren for eksempel og tænker på det som en applikation, men internt er det lidt mere komplekst end det. Applikationer administreres i Windows som en eller flere processer, og inden for hver proces styres den udførende kode af en eller flere tråde.
Den grundlæggende arbejdsgruppe i Windows kaldes en proces. En proces indeholder alle de ressourcer, der er nødvendige for, at en applikation kan fungere, hver proces får sit eget virtuelle adresserum til f.eks. Hvis du åbner Task Manager og klikker på fanen Detaljer, vil hver indgang du ser, der er en individuel proces. Nogle applikationer (Notesblok for eksempel) kører som en enkelt proces, men andre programmer (f.eks. Chrome) kører som flere processer.
Inden for hver proces kaldes de enkelte arbejdsgrupper tråde. På skærmen Opgavemanagerdetaljer skal du højreklikke overalt på overskriftsrækken og klikke på 'Vælg kolonner'. I den dialog, der åbnes, rul ned og markér afkrydsningsfeltet Tråde, og klik derefter på OK. I denne kolonne kan du se antallet af tråde inden for hver proces. Et par processer har kun én tråd - hvis du har Java installeret på din pc, så har du Java Update Scheduler-processen kørende, den hedder jusched.exe, den har kun en enkelt tråd (den hedder en enkelt-trådet proces). Start nu Notepad (siden Opgavemanagerdetaljer opdateres selv om et par sekunder) og ser på trådtællingen for notepad.exe, der er mange tråde i notepad.exe (dette kaldes en multi-threaded-proces).
Hvad der udføres på en CPU er tråde, så en multi-threaded proces kunne have flere af dens tråde udfører på samme tid på forskellige CPU'er.
Du kan finde ud af, hvor mange CPU'er du har ved at indtaste 'msinfo32' i kommandoen Kør, dette viser panelet System Information. Sørg for, at systemoversigten er valgt (det er standard). Kig ned kolonnen Vare i højre rude, indtil du finder Processor-indtastningen. Det fortæller dig, hvilken CPU chip du har, og hvor mange kerner det har, hver kerne er en separat CPU. Hvis din processor understøtter hyperthreading, som internt ser ud til at køre to tråde på hver kerne på samme tid, er der to logiske processorer pr. Kerne, så en fire-core processor har otte logiske processorer. Windows bruger logiske processorer, så på en fire core hyperthreading processor Windows vil se otte separate CPU'er og vil køre otte tråde samtidigt, en på hver logisk processor. Hvis din processor ikke understøtter hyperthreading, er antallet af kerner antallet af CPU'er, som Windows vil se.
På fanen Opgavemanager Detaljer kigger du på Status kolonnen, tæller op, hvor mange processer der har status. Kører på dit system, der er sandsynligvis godt over 100. Selvom vi antager, at hver proces kun har én aktiv tråd (og de fleste processer vil har mere end det) Det er klart, at vi har langt mere aktive tråde end vi har CPU'er. Hvordan kan de alle løbe?
Dispatching threads
Processer og tråde
Vi tror, når det gælder applikationer, starter vi Chrome-browseren for eksempel og tænker på det som en applikation, men internt er det lidt mere komplekst end det. Applikationer administreres i Windows som en eller flere processer, og inden for hver proces styres den udførende kode af en eller flere tråde.
Den grundlæggende arbejdsgruppe i Windows kaldes en proces. En proces indeholder alle de ressourcer, der er nødvendige for, at en applikation kan fungere, hver proces får sit eget virtuelle adresserum til f.eks. Hvis du åbner Task Manager og klikker på fanen Detaljer, vil hver indgang du ser, der er en individuel proces. Nogle applikationer (Notesblok for eksempel) kører som en enkelt proces, men andre programmer (f.eks. Chrome) kører som flere processer.
Inden for hver proces kaldes de enkelte arbejdsgrupper tråde. På skærmen Opgavemanagerdetaljer skal du højreklikke overalt på overskriftsrækken og klikke på 'Vælg kolonner'. I den dialog, der åbnes, rul ned og markér afkrydsningsfeltet Tråde, og klik derefter på OK. I denne kolonne kan du se antallet af tråde inden for hver proces. Et par processer har kun én tråd - hvis du har Java installeret på din pc, så har du Java Update Scheduler-processen kørende, den hedder jusched.exe, den har kun en enkelt tråd (den hedder en enkelt-trådet proces). Start nu Notepad (siden Opgavemanagerdetaljer opdateres selv om et par sekunder) og ser på trådtællingen for notepad.exe, der er mange tråde i notepad.exe (dette kaldes en multi-threaded-proces).
Hvad der udføres på en CPU er tråde, så en multi-threaded proces kunne have flere af dens tråde udfører på samme tid på forskellige CPU'er.
Du kan finde ud af, hvor mange CPU'er du har ved at indtaste 'msinfo32' i kommandoen Kør, dette viser panelet System Information. Sørg for, at systemoversigten er valgt (det er standard). Kig ned kolonnen Vare i højre rude, indtil du finder Processor-indtastningen. Det fortæller dig, hvilken CPU chip du har, og hvor mange kerner det har, hver kerne er en separat CPU. Hvis din processor understøtter hyperthreading, som internt ser ud til at køre to tråde på hver kerne på samme tid, er der to logiske processorer pr. Kerne, så en fire-core processor har otte logiske processorer. Windows bruger logiske processorer, så på en fire core hyperthreading processor Windows vil se otte separate CPU'er og vil køre otte tråde samtidigt, en på hver logisk processor. Hvis din processor ikke understøtter hyperthreading, er antallet af kerner antallet af CPU'er, som Windows vil se.
På fanen Opgavemanager Detaljer kigger du på Status kolonnen, tæller op, hvor mange processer der har status. Kører på dit system, der er sandsynligvis godt over 100. Selvom vi antager, at hver proces kun har én aktiv tråd (og de fleste processer vil har mere end det) Det er klart, at vi har langt mere aktive tråde end vi har CPU'er. Hvordan kan de alle løbe?
Dispatching threads