Felsöka prestandaproblem för virtuella Linux-datorer med prestandadiagnostik (PerfInsights)
Gäller för: ✔️ Virtuella Linux-datorer
Kommentar
CentOS som refereras i den här artikeln är en Linux-distribution och kommer att nå End Of Life (EOL). Överväg att använda och planera i enlighet med detta. Mer information finns i CentOS End Of Life-vägledning.
PerfInsights Linux är ett självhjälpsdiagnostikverktyg som samlar in och analyserar diagnostikdata och tillhandahåller en rapport som hjälper dig att felsöka prestandaproblem för virtuella Linux-datorer i Azure. PerfInsights kan köras på virtuella datorer som stöds som ett fristående verktyg eller direkt från portalen med hjälp av prestandadiagnostik för virtuella Azure-datorer.
Om du har prestandaproblem med virtuella datorer kör du det här verktyget innan du kontaktar supporten.
Kommentar
Kontinuerlig diagnostik (förhandsversion) stöds för närvarande endast i Windows.
Felsökningsscenarier som stöds
PerfInsights kan samla in och analysera flera typer av information. Följande avsnitt beskriver vanliga scenarier.
Snabb prestandaanalys
Det här scenariot samlar in grundläggande information som lagring och maskinvarukonfiguration för den virtuella datorn, olika loggar, inklusive:
Information om operativsystem
PCI-enhetsinformation
Allmänna loggar för gästoperativsystem
Konfigurationsfiler
Lagringsinformation
Konfiguration av virtuella Azure-datorer (samlas in med Hjälp av Azure Instance Metadata Service
Lista över processer som körs, disk, minne och CPU-användning
Nätverksinformation
Det här är en passiv samling med information som inte ska påverka systemet.
Kommentar
Scenariot för snabbprestandaanalys ingår automatiskt i vart och ett av följande scenarier:
Prestandaanalys
Det här scenariot liknar snabb prestandaanalys men gör det möjligt att samla in diagnostikinformation under längre tid.
Prestandaanalys för HPC
Det här scenariot är avsett för felsökning av problem med virtuella datorer med HPC-storlek, vilket innebär H-serien och N-serien. Den kontrollerar konfigurationen av virtuella datorer mot vad Azure HPC Platform-teamet har testat och rekommenderar. Den samlar också in loggar och diagnostik som rör status och konfiguration av den särskilda maskinvara som är tillgänglig på dessa virtuella datorer, inklusive:
Information om GPU-drivrutin
GPU-maskinvarudiagnostik
Information och konfiguration av InfiniBand-drivrutinsdrivrutiner
InfiniBand-enhetsdiagnostik
Nätverkskonfigurationsfiler
Information om prestandajustering
Kommentar
Vissa verktyg som används i scenariot för HPC-prestandaanalys, till exempel cli-kommandon som är paketerade med enhetsdrivrutiner, finns inte på alla virtuella datorer. I sådana fall hoppas dessa delar av analysen över. Om du kör det här scenariot installeras ingen programvara på virtuella datorer eller gör några andra permanenta ändringar.
Kommentar
Det går inte att köra HPC-scenariot direkt från Azure-portalen just nu, så PerfInsights måste laddas ned och köras från kommandoraden för att kunna använda det.
Vilken typ av information samlas in av PerfInsights
Information om den virtuella Linux-datorn, operativsystemet, blockenheter, konsumenter med höga resurser, konfiguration och olika loggar samlas in. Här är mer information:
Operativsystem
- Linux-distribution och version
- Kernelinformation
- Drivrutinsinformation
- Loggar för VM-tillägg för Azure HPC-drivrutin
*
- SELinux-konfiguration
*
Maskinvara
- PCI-enheter [
*
] - Utdata från lscpu
*
- System Management BIOS-tabelldump
*
- PCI-enheter [
Processer och minne
- Lista över processer (uppgiftsnamn, minne som används, öppna filer)
- Totalt, tillgängligt och ledigt fysiskt minne
- Totalt, tillgängligt och ledigt växlingsminne
- Profilering av cpu- och processanvändning med 5 sekunders intervall
- Profilering av insamling av processers minnesanvändning med 5 sekunders intervall
- Användarbegränsningar för minnesåtkomst
*
- NUMA-konfiguration
*
GPU
- Nvidia SMI-utdata
*
- Nvidia DCGM-diagnostik
*
- Nvidias felsökningsdump
*
- Nvidia SMI-utdata
Nätverk
- Lista över nätverkskort med statistik över nätverkskort
- Nätverksroutningstabell
- Öppna portar och status
- InfiniBand-partitionsnycklar
*
- Utdata från ibstat
*
Storage
- Lista över blockerade enheter
- Partitionslista
- Lista över monteringspunkter
- MDADM-volyminformation
- LVM-volyminformation
- Profileringsfångst på alla diskar med 5 sekunders intervall
Loggar
- /var/log/messages
- /var/log/syslog
- /var/log/kern.log
- /var/log/cron.log
- /var/log/boot.log
- /var/log/yum.log
- /var/log/dpkg.log
- /var/log/sysstat eller /var/log/sa [
**
] - /var/log/cloud-init.log
- /var/log/cloud-init-output.log
- /var/log/gpu-manager.log
- /var/log/waagent.log
- /var/log/azure/[extension folder]/*log*
- /var/opt/microsoft/omsconfig/omsconfig.log
- /var/opt/microsoft/omsagent/log/omsagent.log
- /etc/waagent.config
- Utdata från journalctl för de senaste fem dagarna
*
Endast i HPC-scenario
Spårning av prestandadiagnostik
Kör en regelbaserad motor i bakgrunden för att samla in data och diagnostisera pågående prestandaproblem. Regler visas i rapporten under fliken Kategori –> Sökning.
Varje regel består av följande:
- Hitta: Beskrivning av sökningen.
- Rekommendation: Rekommendation om vilka åtgärder som kan vidtas för att hitta. Det finns också referenslänkar till dokumentation som ger mer information om sökningen och/eller rekommendationen.
- Effektnivå: Representerar potentialen för att påverka prestanda.
Följande regelkategorier stöds för närvarande:
Hög resursanvändning:
- Hög CPU-användning: Identifierar perioder med hög CPU-användning och visar de främsta cpu-användningskonsumenterna under dessa perioder.
- Hög minnesanvändning: Identifierar perioder med hög minnesanvändning och visar de främsta minnesanvändningskonsumenterna under dessa perioder.
- Hög diskanvändning: Identifierar perioder med hög diskanvändning på fysiska diskar och visar de främsta diskanvändningskonsumenterna under dessa perioder.
Lagring: Identifierar specifika lagringskonfigurationer.
Minne: Identifierar specifika minneskonfigurationer.
GPU: Identifierar specifika GPU-konfigurationer.
Nätverk: Identifierar specifika nätverksinställningar.
System: Identifierar specifika systeminställningar.
Kommentar
[*
] PCI-information har ännu inte samlats in om Debian- och SLES-distributioner.
[**
] /var/log/sysstat eller /var/log/sa innehåller de SAR-filer (System Activity Report) som samlas in av sysstat-paketet. Om sysstat-paketet inte är installerat på den virtuella datorn ger verktyget PerfInsights en rekommendation om att installera det.
Kör PerfInsights Linux på den virtuella datorn
Vad behöver jag veta innan jag kör verktyget
Verktygskrav
Det här verktyget måste köras på den virtuella datorn som har prestandaproblemet.
Python 3.6 eller senare måste vara installerat på den virtuella datorn.
Kommentar
Python 2 stöds inte längre av Python Software Foundation (PSF). Om Python 2.7 är installerat på den virtuella datorn kan PerfInsights installeras. Inga ändringar eller felkorrigeringar görs dock i PerfInsights för att stödja Python 2.7. Mer information finns i Sunsetting Python 2.
Följande distributioner stöds för närvarande:
Kommentar
Microsoft har bara testat de versioner som visas i tabellen. Om en version inte visas i tabellen testas den inte uttryckligen av Microsoft, men versionen kan fortfarande fungera.
Distribution Version Oracle Linux Server 6.10 [ *
], 7.3, 7.5, 7.6, 7.7, 7.8, 7.9CentOS 6.5 [ *
], 7.6, 7.7, 7.8, 7.9RHEL 7.2, 7.5, 8.0 [ *
], 8.1, 8.2, 8.6, 8.8Ubuntu 14.04, 16.04, 18.04, 20.04, 22.04 Debian 8, 9, 10, 11 [ *
]SLES 12 SP4 [ *
], 12 SP5 [*
], 15 [*
], 15 SP1 [*
], 15 SP2 [*
], 15 SP4 [*
]AlmaLinux 8.4, 8.5 Azure Linux 2.0
Kommentar
[*
] Se Avsnittet Kända problem
Kommentar
[*
] HPC-scenariot förlitar sig på HPCDiag-verktyget , så kontrollera dess stödmatris för vm-storlekar och operativsystem som stöds. I synnerhet stöds inte virtuella NDv4-storleksdatorer ännu och rapporter för dessa virtuella datorer kan visa överflödiga resultat.
Kända problem
RHEL 8 har inte Python installerat som standard. Om du vill köra PerfInsights Linux måste du först installera Python 3.6 eller en senare version.
Informationsinsamlingen för gästagenten kan misslyckas på CentOS 6.x.
INFORMATION om PCI-enheter samlas inte in på Debianbaserade distributioner.
LVM-information samlas delvis in på vissa distributioner.
Hur kör jag PerfInsights
Du kan köra PerfInsights på en virtuell dator genom att installera Azure Performance Diagnostics från Azure-portalen. Du kan också köra den som ett fristående verktyg.
Kommentar
PerfInsights samlar helt enkelt in och analyserar data. Det gör inga ändringar i systemet.
Installera och köra PerfInsights från Azure-portalen
Mer information om det här alternativet finns i Azure-prestandadiagnostik.
Kör PerfInsights i fristående läge
Följ dessa steg för att köra verktyget PerfInsights:
Ladda ned PerfInsights.tar.gz till en mapp på den virtuella datorn och extrahera innehållet med hjälp av kommandona nedan från terminalen.
wget https://download.microsoft.com/download/9/F/8/9F80419C-D60D-45F1-8A98-718855F25722/PerfInsights.tar.gz
tar xzvf PerfInsights.tar.gz
Gå till mappen som innehåller
perfinsights.py
filen och körperfinsights.py
sedan för att visa de tillgängliga kommandoradsparametrarna.cd <the path of PerfInsights folder> sudo python perfinsights.py
Den grundläggande syntaxen för att köra PerfInsights-scenarier är:
sudo python perfinsights.py -r <ScenarioName> -d [duration]<H | M | S> [AdditionalOptions]
Du kan använda exemplet nedan för att köra scenariot för snabb prestandaanalys i 1 minut och skapa resultatet under mappen /tmp/output:
sudo python perfinsights.py -r quick -d 1M -a -o /tmp/output
Du kan använda exemplet nedan för att köra scenariot för prestandaanalys i 5 minuter och ladda upp resultatet (lagras i en TAR-fil) till lagringskontot:
sudo python perfinsights.py -r vmslow -d 300S -a -t <StorageAccountName> -k <StorageAccountKey> -i <full resource Uri of the current VM>
Du kan använda exemplet nedan för att köra scenariot för HPC-prestandaanalys i 1 min och ladda upp resultat-TAR-filen till lagringskontot:
sudo python perfinsights.py -r hpc -d 60S -a -t <StorageAccountName> -k <StorageAccountKey> -i <full resource Uri of the current VM>
Kommentar
Innan du kör ett scenario uppmanar PerfInsights användaren att godkänna att dela diagnostikinformation och godkänna licensavtalet. Använd alternativet -a eller --accept-disclaimer-and-share-diagnostics för att hoppa över dessa frågor.
Om du har ett aktivt supportärende med Microsoft och kör PerfInsights enligt begäran från supportteknikern som du arbetar med måste du ange supportbiljettnumret med hjälp av alternativet -s eller --support-request .
När körningen är klar visas en ny tar-fil i samma mapp som PerfInsights om ingen utdatamapp har angetts. Namnet på filen är PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz. Du kan skicka den här filen till supportagenten för analys eller öppna rapporten i filen för att granska resultat och rekommendationer.
Granska diagnostikrapporten
I den PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz filen hittar du en HTML-rapport som beskriver resultaten från PerfInsights. Om du vill granska rapporten expanderar du filen PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz och öppnar sedan filen PerfInsights Report.html.
Fliken Översikt
Fliken Översikt innehåller grundläggande körningsinformation och information om virtuella datorer. Fliken Resultat visar en sammanfattning av rekommendationerna från alla olika avsnitt i PerfInsights-rapporten.
Kommentar
Resultat som kategoriseras som höga är kända problem som kan orsaka prestandaproblem. Resultat kategoriserade som medel representerar icke-optimala konfigurationer som inte nödvändigtvis orsakar prestandaproblem. Resultat som kategoriseras som låga är endast informativa instruktioner.
Granska rekommendationerna och länkarna för alla höga och medelstora resultat. Lär dig mer om hur de kan påverka prestanda och även om metodtips för prestandaoptimerade konfigurationer.
Fliken CPU
Fliken CPU innehåller information om systemomfattande CPU-förbrukning under PerfInsights-körningen. Information om perioder med hög CPU-användning och de mest tidskrävande CPU-konsumenterna är till hjälp för att felsöka problem med hög CPU-användning.
Fliken GPU
Fliken GPU innehåller information om resultat som kan vara till hjälp vid felsökning av GPU-relaterade problem.
Fliken Nätverk
Fliken Nätverk innehåller information om nätverkskonfiguration och status. Information om nätverksrelaterade resultat, inklusive InfiniBand-problem i HPC-scenariot, finns här.
Fliken Lagring
Avsnittet Resultat visar olika resultat och rekommendationer som rör lagring.
Flikarna Blockera enheter och andra relaterade avsnitt som Partitioner, LVM och MDADM beskriver hur blockenheter konfigureras och är relaterade till varandra.
Fliken Linux
Fliken Linux innehåller information om maskinvaran och operativsystemet som körs på den virtuella datorn. Information innehåller en lista över processer som körs och information om gästagent, PCI, CPU, GPU, drivrutiner och LIS-drivrutiner.
Eller på en GPU-aktiverad virtuell dator:
Nästa steg
Du kan ladda upp diagnostikloggar och rapporter till Microsoft Support för ytterligare granskning. När du arbetar med Microsoft Support-personalen kan de begära att du skickar utdata som genereras av PerfInsights för att hjälpa till med felsökningsprocessen.
Följande skärmbild visar ett meddelande som liknar det du kan få:
Följ anvisningarna i meddelandet för att komma åt filöverföringsarbetsytan. För ytterligare säkerhet måste du ändra lösenordet vid första användningen.
När du har loggat in hittar du en dialogruta för att ladda upp den PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz fil som har samlats in av PerfInsights.
Kontakta oss om du behöver hjälp
Om du har frågor eller behöver hjälp skapar du en supportbegäran eller frågar Azure Community-support. Du kan också skicka produktfeedback till Azure-feedbackcommunityn.