PowerFlex: Begrepp och felsökning för processorer
Summary: CPU-begrepp och grundläggande felsökning kan vara okända eller förvirrande för vissa. Den här kunskapsbasartikeln innehåller CPU-relaterad information och felsökningsmetoder.
Instructions
Förklaring av begrepp
-
Central Processing Unit (CPU) - CPU:n är en hårdvara som utför instruktionerna i ett datorprogram.
Den utför de grundläggande aritmetiska, logiska och input/output-operationerna i ett datorsystem.
Ses vanligtvis som processorn eller sockeln -
CPU-kärna – En CPU-kärna är den faktiska processorbearbetningskomponenten.
Den hanterar alla kommandosekvenser som tas emot från en tråd.
Ses även som pCPU (VMware) -
CPU-tråd – En CPU-tråd är en virtuell version av en CPU-kärna.
En tråd är bara en ordnad sekvens av instruktioner. -
Logiska kärnor – Varje CPU-tråd jämförs direkt med en logisk kärna. Logiska kärnor mäter antalet åtgärder som en fysisk kärna kan köra samtidigt.
Med hypertrådningsfunktionen kan en fysisk kärna köra två åtgärder och därför ha två logiska kärnor. -
Hypertrådning – Det här är en process där en processor delar upp var och en av sina fysiska kärnor i virtuella kärnor, som kallas trådar.
Kan aktiveras/inaktiveras på ett operativsystem (OS) och BIOS som stöder det. -
Virtuell centralbearbetningsenhet (vCPU) – Varje vCPU ses som en enda fysisk CPU-kärna av den virtuella datorns (VM) operativsystem.
Representerar en del eller resurs av en fysisk kärna som är tilldelad till en virtuell dator
Beroende på Hypervisor har varje fysisk kärna stöd för 5–10 virtuella processorer per virtuell dator.
> Diagram över CPU-kärna >
Fysisk kärna jämfört med logisk kärnalscpu Kommandoutdata
lscpu | egrep 'Socket\(s\)|Core\(s\) per socket|Thread\(s\) per core|CPU\(s\)\:' | tac
Exempel på utdata:
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 totala indexet för logiska kärnor = CPU-socketar × fysiska kärnor per socket × trådar per fysisk kärna.
/proc/cpuinfo filutdata
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&/"
Exempel på utdata:
Alla utdatavärden är nollbaserade.
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 totala antalet logiska kärnor = på samma nivå × det totala antalet fysiska ID:n
PowerFlex-dokumentation och loggar
Om du vill hitta CPU-relaterad information om PowerFlex-servern kan du använda följande metoder:
ENDAST 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
Exempel på utdata:
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 OCH 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&/"
För getInfoDump måste du ändra cpuinfo-filens plats, den finns under ...\getInfoDump\server\proc_cpuinfo.txt.
Filen /proc/cpuinfo är mer omfattande än lscpu - För ytterligare information använd följande LÄNK.
Exempel på utdata:
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
Information om systemkrav och rekommendationer för PowerFlex finns i den officiella dokumentationen på Dells supportwebbplats.
Felsökningsverktyg och tips
Linuxtop
Det här verktyget ger en avläsning av användare, uppgifter, CPU-belastning och minnesanvändning.
För att avsluta den översta funktionen, tryck på bokstaven "q" på tangentbordet.
Några standardkommandoswitchar:-i
Inaktiva processer
Detta döljer alla inaktiva processer, vilket gör det enklare att sortera igenom listan.
-n
Number-of-iterations
Anger det maximala antalet iterationer, eller bildrutor, som top ska producera innan de avslutas.
-b
Batch-läge
Startar överst i Batch-läge, vilket kan vara användbart för att skicka utdata uppifrån till andra program eller en fil.
-n' byta alternativ eller tills det dödas.
Några andra användbara kommandon när top körs är:M - Sortera uppgiftslista efter minnesanvändningP - Sortera uppgiftslista efter processoranvändningN - sortera uppgiftslistan efter process-IDT - Sortera uppgiftslistan efter körtid
mpstat
Det här verktyget är en del av ett programvarupaket som heter sysstat, som visar CPU-aktivitet. Systemet visar användningen för varje processor (eller processorkärna).
%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 för genomsnittlig användning. Systemet visar genomsnittlig CPU-användning sedan den senaste starten.
sar
Det här verktyget hanterar systemresurser.
Vanlig kommandoswitch:-u
Detta spårar endast CPU-prestanda
%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öljande kommando visar de 10 främsta CPU-användarna i 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
VMware (VMware)
I virtualiseringsmiljöer, särskilt den vanliga VMware ESXi, är användningen av systemresurser skiktad och ibland för omfattande för att analyseras snabbt.
Följ den här kunskapsbasartikeln för VMware för olika kodversioner i Felsöka prestandaproblem för ESXi-värd/VM – Felsöka VMware-resurser.
Både användargränssnitt och CLI kan användas för felsökning av processorns och andra resursers prestanda.
UI:
vCenter Server samlar in statistiska data från alla ESXi-värdar och virtuella datorer som är anslutna och aggregerar, beräknar och arkiverar data i konfigurerade intervall.
Om du vill komma åt data startar du vSphere-klienten, väljer din virtuella dator eller värd och går till Översikt över övervakningsprestanda >> för att få en sammanfattning av huvudindikatorer, till exempel CPU, minne, disk och nätverk.
Gå till Avancerat och använd rullgardinsmenyn Visa i det övre högra hörnet för att se mer information om varje indikator.
CLI:esxtop
Det här verktyget ger en avläsning av användare, uppgifter, CPU-belastning och minnesanvändning.
Logga in på värdens SSH-session (rotbehörighet krävs) och skriv esxtop. När du startar ESXTOP får du CPU-vyn som standard.
Se följande artikel för en mer omfattande förståelse av de olika esxtop-måtten och skärmarna - ESXTOP Explained.
Observera att för ett specifikt operativsystem/programprestanda på en virtuell dator följer de relevanta anvisningarna från relevant leverantör per operativsystem/program.
Några standardkommandoswitchar:-l
I stora miljöer kan esxtop ha hög CPU-användning på grund av mängden data som måste samlas in och beräkningar som måste göras.
Låser specifika enheter och hindrar esxtop från att samla in detaljerad information för att begränsa mängden CPU-ström som behövs.
-l' används när entiteterna är låsta!
-u
Det här alternativet undertrycker serverns fysiska CPU-statistik, vilket sparar en betydande mängd data som lagras.
-n
Number-of-iterations
Anger det maximala antalet iterationer, eller bildrutor, som esxtop ska producera innan de avslutas.
-b
Batch-läge
Startar överst i Batch-läge, vilket kan vara användbart för att skicka utdata uppifrån till andra program eller en fil.
-b' används när entiteterna är låsta! I det här läget accepterar esxtop inte indata och körs tills iterationsgränsen har angetts med '-n' byta alternativ eller tills det dödas.
Windows
I Windows-miljöer är hög användning av processor och minne inte alltid ett problem som måste åtgärdas. Det varierar beroende på användningsfall.
Vi kan använda Aktivitetshanteraren och se vilken applikation/uppgift/tjänst som orsakar hög resursanvändning.
Eftersom Windows-servrar kan användas för olika ändamål och köra flera tjänster.
Följ den här Microsoft KB-artikeln för felsökning av prestandaproblem för olika tjänster – Felsökning av Windows Server-komponenter.
PowerShell
Ett plattformsoberoende ramverk för uppgiftsautomatisering och konfigurationshantering som består av ett kommandoradsgränssnitt och skriptspråk
I följande artikel finns en mer omfattande förståelse för CPU-felsökning med PowerShell – PowerShell CPU-felsökning.