PowerFlex: CPU-koncepter og fejlfinding
Summary: CPU-koncepter og grundlæggende fejlfinding kan være ukendte eller forvirrende for nogle. Denne KB indeholder CPU-relaterede oplysninger og fejlfindingsmetode.
Instructions
Begreber forklaret
-
Central Processing Unit (CPU) - CPU'en er et stykke hardware, der udfører instruktionerne i et computerprogram.
Det udfører de grundlæggende aritmetiske og input / output-operationer i et computersystem.
Ses typisk som processoren eller soklen -
CPU-kerne - En CPU-kerne er den faktiske CPU-behandlingskomponent.
Det håndterer alle kommandosekvenser modtaget fra en tråd.
Også set som pCPU (VMware) -
CPU-tråd - En CPU-tråd er en virtuel version af en CPU-kerne.
En tråd er blot en ordnet rækkefølge af instruktioner. -
Logiske kerner - Hver CPU-tråd sammenlignes direkte med en logisk kerne. Logiske kerner måler antallet af operationer, som en fysisk kerne kan køre samtidigt.
Med Hyper-Threading-funktion kan en fysisk kerne køre to operationer og derfor have to logiske kerner. -
Hyper-Threading - Dette er en proces, hvor en CPU opdeler hver af sine fysiske kerner i virtuelle kerner, der er kendt som tråde.
Kan aktiveres/deaktiveres på et operativsystem (OS) og BIOS, der understøtter det. -
Virtual Central Processing Unit (vCPU) – Hver vCPU betragtes som en enkelt fysisk CPU-kerne af den virtuelle maskines (VM) operativsystem.
Repræsenterer en del eller andel af en fysisk kerne, der er tildelt en VM
Afhængigt af hypervisoren understøtter hver fysisk kerne 5-10 vCPU'er pr. VM.
> CPU Core > vCPU-diagram
Fysisk kerne vs. logisk kernelscpu Kommandooutput
lscpu | egrep 'Socket\(s\)|Core\(s\) per socket|Thread\(s\) per core|CPU\(s\)\:' | tac
Eksempel på output:
Socket(s): 2 ← The motherboard has 2 CPU processors/sockets. Core(s) per socket: 8 ← Each CPU socket has 8 physical cores. Hence, it has 16 physical cores in total. Thread(s) per core: 2 ← Each physical CPU core can run 2 threads = Hyper-Threading enabled. CPU(s): 32 ← The computer has 2 × 8 × 2 = 32 logical cores in total.
Det samlede indeks for logiske kerner = CPU-sokler × fysiske kerner pr. sokkel × tråde pr. fysisk kerne.
/proc/cpuinfo filoutput
echo " "; echo "Model Name: "$(cat /proc/cpuinfo|egrep 'model name'|head -1|awk '{for(i=4;i<=20;i++)printf "%s ",$i;print ""}'); cat /proc/cpuinfo | egrep 'processor|physical id|siblings|core id|cpu cores' | sed "s/^processor/\n&/"
Eksempel på output:
Alle outputværdierne er nulbaserede.
processor : 0 ← The index number of threads. physical id : 0 ← CPU socket index #0 (the only one if no other physical id's in the full output). siblings : 8 ← The amount of logical cores in the socket. core id : 0 ← CPU core index #0. cpu cores : 4 ← CPU socket index #0 has 4 physical cores.
Det samlede antal logiske kerner = søskende × samlede antal fysiske id'er
PowerFlex-dokumentation og -logfiler
Hvis du vil finde CPU-relaterede oplysninger om PowerFlex-serveren, kan du bruge følgende metoder:
Kun på live systemlscpu
echo " ";echo "Model Name: "$(lscpu|egrep 'Model name'|awk '{for(i=4;i<=20;i++)printf "%s ",$i;print ""}');echo " ";lscpu|egrep 'Socket\(s\)|Core\(s\) per socket|Thread\(s\) per core|CPU\(s\)\:'|tac
Eksempel på output:
Model name: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz Socket(s): 1 Core(s) per socket: 4 Thread(s) per core: 2 CPU(s): 8
På live system OG getInfoDump
/proc/cpuinfo
echo " ";echo "Model Name: "$(cat /proc/cpuinfo|egrep 'model name'|head -1|awk '{for(i=4;i<=20;i++)printf "%s ",$i;print ""}');cat /proc/cpuinfo|egrep 'processor|physical id|siblings|core id|cpu cores'|sed "s/^processor/\n&/"
For getInfoDump skal du ændre cpuinfo-filplaceringen, den er placeret under ...\getInfoDump\server\proc_cpuinfo.txt.
Filen /proc/cpuinfo er mere omfattende end lscpu - for yderligere information brug følgende LINK.
Eksempel på output:
Model Name: Intel(R) Core(TM) i5-8350U CPU @ 1.70GHz processor : 0 physical id : 0 siblings : 8 core id : 0 cpu cores : 4 processor : 1 physical id : 0 siblings : 8 core id : 0 cpu cores : 4 processor : 2 physical id : 0 siblings : 8 core id : 1 cpu cores : 4 processor : 3 physical id : 0 siblings : 8 core id : 1 cpu cores : 4 processor : 4 physical id : 0 siblings : 8 core id : 2 cpu cores : 4 processor : 5 physical id : 0 siblings : 8 core id : 2 cpu cores : 4 processor : 6 physical id : 0 siblings : 8 core id : 3 cpu cores : 4 processor : 7 physical id : 0 siblings : 8 core id : 3 cpu cores : 4
Du kan finde oplysninger om PowerFlex-systemkrav og anbefalinger i den officielle dokumentation på Dells supportwebsted.
Værktøjer og tip til fejlfinding
Linuxtop
Dette værktøj giver en aflæsning af brugere, opgaver, CPU-belastning og hukommelsesforbrug.
For at afslutte topfunktionen skal du trykke på bogstavet 'q' på dit tastatur.
Nogle standardkommandoparametre:-i
Inaktive processer
Dette skjuler alle tomgangsprocesser, hvilket gør det lettere at sortere gennem listen.
-n
Antal gentagelser
Angiver det maksimale antal gentagelser eller rammer, toppen skal producere, før den slutter.
-b
Batch-mode
Starter øverst i batch-tilstand, hvilket kan være nyttigt til at sende output fra toppen til andre programmer eller en fil.
-n' Skift mulighed eller indtil dræbt.
Nogle andre nyttige kommandoer, mens toppen kører, inkluderer:M - Sorter opgavelisten efter hukommelsesforbrugP - Sorter opgavelisten efter processorbrugN - sortere opgaveliste efter proces-idT - Sorter opgavelisten efter kørselstid
mpstat
Dette værktøj er en del af en softwarepakke kaldet sysstat, som viser CPU-aktivitet. Systemet viser brugen for hver processor (eller processorkerne).
%usr – % CPU usage at the user level. %nice – % CPU usage for user processes labeled “nice”. %sys – % CPU usage at the system (Linux kernel) level. %iowait – % CPU usage idling waiting on a disk read/write. %irq – % CPU usage handling hardware interrupts. %soft – % CPU usage handing software interrupts. %steal – % CPU usage being forced to wait for a hypervisor handling other virtual processors. %guest – % CPU usage spent running a virtual processor. %idle – % CPU usage on idle time (no processes, and not waiting on a disk read/write).
iostat
Kommando til gennemsnitlig brug. Systemet viser det gennemsnitlige CPU-forbrug siden sidste opstart.
sar
Dette værktøj administrerer systemressourcer.
Fælles kommandoswitch:-u
Dette sporer kun CPU-ydeevne
%user: Percentage of CPU utilization that occurred while executing at the user level (application). %nice: Percentage of CPU utilization that occurred while executing at the user level with nice priority. %system: Percentage of CPU utilization that occurred while executing at the system level (kernel). %iowait: Percentage of time that the CPU or CPUs were idle during which the system had an outstanding disk I/O request. %idle: Percentage of time that the CPU or CPUs were idle and the system did not have an outstanding disk I/O request.
Følgende kommando viser de 10 bedste CPU-brugere på Linux-systemet:
ps -eo pcpu,pid,user,args | sort -k 1 -r | head -10
ELLER
ps -eo pcpu,pid,user,args | sort -r -k1 | less
VMwareI virtualiseringsmiljøer, især den almindeligt anvendte VMware ESXi, er brugen af systemressourcer lagdelt og nogle gange for omfattende til hurtigt at analysere.
Følg denne VMware-KB for forskellige kodeversioner i Fejlfinding af problemer med ESXi-vært/VM-ydeevne – Fejlfinding af VMware-ressourcer.
Både brugergrænsefladen og CLI kan bruges til fejlfinding af CPU'ens og andre ressourcers ydeevne.
UI:
vCenter Server indsamler statistiske data fra alle ESXi-værter og VM'er, der er tilsluttet, og aggregerer, beregner og arkiverer dataene i konfigurerede intervaller.
For at få adgang til dataene skal du starte vSphere Client, vælge din VM eller vært og gå til Oversigt over skærmens > ydeevne > for at få en oversigt over de vigtigste indikatorer som CPU, hukommelse, disk og netværk.
Gå til Avanceret, og brug rullemenuen Vis i øverste højre hjørne for at se flere oplysninger om hver indikator.
CLI:esxtop
Dette værktøj giver en aflæsning af brugere, opgaver, CPU-belastning og hukommelsesforbrug.
Log ind på værtens SSH-session (rodrettigheder kræves), og skriv esxtop. Når du starter ESXTOP, får du CPU-visningen som standard.
Se følgende artikel for en mere omfattende forståelse af de forskellige esxtop-målinger og skærme - ESXTOP forklaret.
Bemærk , at for et bestemt operativsystem/programs ydeevne på en VM skal du følge de relevante instruktioner, der er angivet af den relevante leverandør pr. operativsystem/program.
Nogle standardkommandoparametre:-l
I store miljøer kan esxtop have høj CPU-udnyttelse på grund af mængden af data, der skal indsamles, og beregninger, der skal udføres.
Låser specifikke enheder og forhindrer esxtop i at indsamle detaljerede oplysninger for at begrænse den nødvendige mængde CPU-strøm.
-l' bruges, når enhederne er låst!
-u
Denne indstilling undertrykker serverens fysiske CPU-statistik, som gemmer en betydelig mængde data, der gemmes.
-n
Antal gentagelser
Angiver det maksimale antal gentagelser eller rammer, esxtop skal producere, før den slutter.
-b
Batch-mode
Starter øverst i batch-tilstand, hvilket kan være nyttigt til at sende output fra toppen til andre programmer eller en fil.
-b' bruges, når enhederne er låst! I denne tilstand accepterer esxtop heller ikke input og kører, indtil gentagelsesgrænsen er indstillet med '-n' Skift mulighed eller indtil dræbt.
Windows
I Windows-miljøer er høj brug af CPU og hukommelse ikke altid et problem, der skal løses. Det vil variere alt efter brugssager.
Vi kan bruge Task Manager og se, hvilken applikation / opgave / service der forårsager højt ressourceforbrug.
Da Windows-servere kan bruges til forskellige formål, kører flere tjenester.
Følg denne Microsoft KB for fejlfinding af ydelsesproblemer for forskellige tjenester - Fejlfinding af Windows Server-komponenter.
PowerShell
En struktur til opgaveautomatisering og konfigurationsstyring på tværs af platforme, der består af en kommandolinjeskal og et scriptsprog
Se følgende artikel for at få en mere omfattende forståelse af CPU-fejlfinding ved hjælp af PowerShell – PowerShell CPU-fejlfinding.