PerfInsights gebruiken

Opmerking

CentOS waarnaar in dit artikel wordt verwezen, is een Linux-distributie en bereikt end of life (EOL). Overweeg uw gebruik en plan dienovereenkomstig. Zie Richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.

PerfInsights Linux is een hulpprogramma voor zelfhulpdiagnose dat de diagnostische gegevens verzamelt en analyseert en een rapport biedt om prestatieproblemen met virtuele Linux-machines in Azure op te lossen. PerfInsights kan worden uitgevoerd op ondersteunde virtuele machines als een zelfstandig hulpprogramma of rechtstreeks vanuit de portal met behulp van Prestatiediagnose voor virtuele Azure-machines.

Als u prestatieproblemen ondervindt met virtuele machines, voert u dit hulpprogramma uit voordat u contact opneemt met de ondersteuning.

Ondersteunde scenario's voor probleemoplossing

PerfInsights kan verschillende soorten informatie verzamelen en analyseren. In de volgende secties worden veelvoorkomende scenario's behandeld.

Snelle prestatieanalyse

In dit scenario worden basisgegevens verzameld, zoals de opslag- en hardwareconfiguratie van uw virtuele machine, verschillende logboeken, waaronder:

  • Informatie over het besturingssysteem

  • PCI-apparaatgegevens

  • Algemene logboeken van gastbesturingssystemen

  • Configuratiebestanden

  • Opslaggegevens

  • Configuratie van virtuele Azure-machines (verzameld met behulp van Azure Instance Metadata Service

  • Lijst met actieve processen, schijf-, geheugen- en CPU-gebruik

  • Netwerkgegevens

Dit is een passieve verzameling informatie die geen invloed mag hebben op het systeem.

Opmerking

Scenario voor snelle prestatieanalyse wordt automatisch opgenomen in elk van de volgende scenario's:

Prestatieanalyse

Dit scenario is vergelijkbaar met Snelle prestatieanalyse, maar maakt het mogelijk om diagnostische gegevens voor langere tijd vast te leggen.

HPC-prestatieanalyse

Dit scenario is bedoeld voor het oplossen van problemen op VM's met HPC-grootte, wat betekent dat de H-serie en de N-serie. Er wordt een vm-configuratie gecontroleerd op basis van wat het Azure HPC Platform-team heeft getest en aanbevolen. Het verzamelt ook logboeken en diagnostische gegevens met betrekking tot de status en configuratie van de speciale hardware die beschikbaar is op deze VM's, waaronder:

  • INFORMATIE OVER GPU-stuurprogramma

  • Diagnostische gegevens over GPU-hardware

  • InfiniBand-stuurprogrammagegevens en -configuratie

  • Diagnostische gegevens van InfiniBand-apparaten

  • Netwerkconfiguratiebestanden

  • Informatie over het afstemmen van prestaties

Opmerking

Sommige hulpprogramma's die worden gebruikt door het HPC-prestatieanalysescenario, zoals cli-opdrachten die zijn verpakt in apparaatstuurprogramma's, zijn niet aanwezig op alle VM's. In dergelijke gevallen worden deze gedeelten van de analyse overgeslagen. Als u dit scenario uitvoert, wordt er geen software op VM's geïnstalleerd en worden er geen andere permanente wijzigingen aangebracht.

Opmerking

Het uitvoeren van het HPC-scenario rechtstreeks vanuit Azure Portal wordt momenteel niet ondersteund. Daarom moet PerfInsights worden gedownload en uitgevoerd vanaf de opdrachtregel om het te kunnen gebruiken.

Welk soort informatie wordt verzameld door PerfInsights

Er wordt informatie verzameld over de virtuele Linux-machine, het besturingssysteem, blokapparaten, hoge resourceverbruikers, configuratie en verschillende logboeken. Hier volgen meer details:

  • Besturingssysteem

    • Linux-distributie en -versie
    • Kernelgegevens
    • Stuurprogrammagegevens
    • Vm-extensielogboeken voor Azure HPC-stuurprogramma*
    • SELinux-configuratie*
  • Hardware

    • PCI-apparaten [*]
    • Uitvoer van lscpu*
    • Systeembeheer BIOS-tabeldump*
  • Processen en geheugen

    • Lijst met processen (taaknaam, gebruikt geheugen, geopende bestanden)
    • Totaal, beschikbaar en vrij fysiek geheugen
    • Totaal, beschikbaar en gratis wisselgeheugen
    • Profileringsopname van CPU- en processen CPU-gebruik met interval van 5 seconden
    • Profileringsregistratie van geheugengebruik van processen met interval van 5 seconden
    • Gebruikerslimieten voor geheugentoegang*
    • NUMA-configuratie*
  • GPU

    • Nvidia SMI-uitvoer*
    • Nvidia DCGM Diagnostics*
    • Nvidia foutopsporingdump*
  • Netwerken

    • Lijst met netwerkadapters met adaptersstatistieken
    • Netwerkrouteringstabel
    • Geopende poorten en status
    • InfiniBand-partitiesleutels*
    • Uitvoer van ibstat*
  • Opslag

    • Lijst met apparaten blokkeren
    • Lijst met partities
    • Lijst met koppelpunten
    • MDADM-volumegegevens
    • LVM-volumegegevens
    • Profileringsopname op alle schijven met interval van 5 seconden
  • Logs

    • /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 of /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/[extensiemap]/*log*
    • /var/opt/microsoft/omsconfig/omsconfig.log
    • /var/opt/microsoft/omsagent/log/omsagent.log
    • /etc/waagent.config
    • Uitvoer van journalctl voor de afgelopen vijf dagen
  • Metagegevens van azure-exemplaar van virtuele machine

* Alleen in HPC-scenario

Tracering van prestatiediagnose

Hiermee wordt op de achtergrond een engine op basis van regels uitgevoerd om gegevens te verzamelen en lopende prestatieproblemen vast te stellen. Regels worden weergegeven in het rapport onder het tabblad Categorie -> Zoeken.

Elke regel bestaat uit het volgende:

  • Zoeken: Beschrijving van de bevinding.
  • Aanbeveling: Aanbeveling over welke actie kan worden ondernomen voor de bevinding. Er zijn ook referentiekoppelingen naar documentatie die meer informatie bieden over de bevinding en/of aanbeveling.
  • Impactniveau: vertegenwoordigt het potentieel voor het hebben van invloed op de prestaties.

De volgende categorieën regels worden momenteel ondersteund:

  • Hoog resourcegebruik:

    • Hoog CPU-gebruik: detecteert perioden met hoog CPU-gebruik en toont de belangrijkste CPU-verbruikers tijdens deze perioden.
    • Hoog geheugengebruik: detecteert perioden van hoog geheugengebruik en toont de belangrijkste gebruikers van geheugengebruik tijdens deze perioden.
    • Hoog schijfgebruik: detecteert perioden voor hoog schijfgebruik op fysieke schijven en toont de belangrijkste schijfverbruikers tijdens deze perioden.
  • Opslag: detecteert specifieke opslagconfiguraties.

  • Geheugen: detecteert specifieke geheugenconfiguraties.

  • GPU: detecteert specifieke GPU-configuraties.

  • Netwerk: detecteert specifieke netwerkinstellingen.

  • Systeem: detecteert specifieke systeeminstellingen.

Opmerking

[*] PCI-informatie is nog niet verzameld op Debian- en SLES-distributies.

[**] /var/log/sysstat of /var/log/sa bevat de SAR-bestanden (System Activity Report) die worden verzameld door het sysstat-pakket. Als het sysstat-pakket niet is geïnstalleerd op de VIRTUELE machine, biedt het hulpprogramma PerfInsights een aanbeveling om het te installeren.

PerfInsights Linux uitvoeren op uw VM

Wat moet ik weten voordat ik het hulpprogramma uitvoer

Hulpprogrammavereisten

  • Dit hulpprogramma moet worden uitgevoerd op de VM die het prestatieprobleem heeft.

  • Python 3.6 of een latere versie moet op de VM zijn geïnstalleerd.

    Opmerking

    Python 2 wordt niet meer ondersteund door de Python Software Foundation (PSF). Als Python 2.7 op de VM is geïnstalleerd, kan PerfInsights worden geïnstalleerd. Er worden echter geen wijzigingen of bugfixes aangebracht in PerfInsights ter ondersteuning van Python 2.7. Zie Sunsetting Python 2 voor meer informatie.

  • De volgende distributies worden momenteel ondersteund:

    Opmerking

    Microsoft heeft alleen de versies getest die in de tabel worden vermeld. Als een versie niet wordt vermeld in de tabel, wordt deze niet expliciet getest door Microsoft, maar de versie werkt mogelijk nog steeds.

    Distributie Versie
    Oracle Linux Server 6,10 [*], 7.3, 7.5, 7.6, 7.7, 7.8, 7.9
    Centos 6,5 [*], 7.6, 7.7, 7.8, 7.9
    RHEL 7.2, 7.5, 8.0 [*], 8.1, 8.2, 8.6, 8.8
    Ubuntu 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

Opmerking

[*] Raadpleeg de sectie Bekende problemen

Opmerking

[*] Het HPC-scenario is afhankelijk van het hulpprogramma HPCDiag , dus controleer de ondersteuningsmatrix voor ondersteunde VM-grootten en besturingssystemen. Met name VM's met NDv4-grootte worden nog niet ondersteund en rapporten voor deze VM's kunnen overbodige resultaten tonen.

Bekende problemen

  • Voor RHEL 8 is Python niet standaard geïnstalleerd. Als u PerfInsights Linux wilt uitvoeren, moet u eerst Python 3.6 of een latere versie installeren.

  • Het verzamelen van gegevens van de gastagent kan mislukken in CentOS 6.x.

  • PCI-apparaten worden niet verzameld op Debian gebaseerde distributies.

  • LVM-informatie wordt gedeeltelijk verzameld op sommige distributies.

PerfInsights Hoe kan ik uitvoeren

U kunt PerfInsights uitvoeren op een virtuele machine door Azure Performance Diagnostics te installeren vanuit Azure Portal. U kunt het ook uitvoeren als een zelfstandig hulpprogramma.

Opmerking

PerfInsights verzamelt en analyseert de gegevens. Er worden geen wijzigingen aangebracht in het systeem.

PerfInsights installeren en uitvoeren vanuit de Azure Portal

Zie Azure Performance Diagnostics voor meer informatie over deze optie.

PerfInsights uitvoeren in de zelfstandige modus

Voer de volgende stappen uit om het hulpprogramma PerfInsights uit te voeren:

  1. Download PerfInsights.tar.gz naar een map op uw virtuele machine en pak de inhoud uit met behulp van de onderstaande opdrachten uit de terminal.

    wget https://download.microsoft.com/download/9/F/8/9F80419C-D60D-45F1-8A98-718855F25722/PerfInsights.tar.gz
    
    tar xzvf PerfInsights.tar.gz
    
  2. Navigeer naar de map met perfinsights.py het bestand en voer uit perfinsights.py om de beschikbare opdrachtregelparameters weer te geven.

    cd <the path of PerfInsights folder>
    sudo python perfinsights.py
    

    Schermopname van perfInsights Linux-opdrachtregeluitvoer.

    De basissyntaxis voor het uitvoeren van PerfInsights-scenario's is:

    sudo python perfinsights.py -r <ScenarioName> -d [duration]<H | M | S> [AdditionalOptions]
    

    U kunt het onderstaande voorbeeld gebruiken om een scenario voor snelle prestatieanalyse gedurende 1 minuut uit te voeren en de resultaten te maken onder de map /tmp/output:

    sudo python perfinsights.py -r quick -d 1M -a -o /tmp/output
    

    U kunt het onderstaande voorbeeld gebruiken om het prestatieanalysescenario gedurende 5 minuten uit te voeren en het resultaat (opgeslagen in een TAR-bestand) te uploaden naar het opslagaccount:

    sudo python perfinsights.py -r vmslow -d 300S -a -t <StorageAccountName> -k <StorageAccountKey> -i <full resource Uri of the current VM>
    

    U kunt het onderstaande voorbeeld gebruiken om het HPC-prestatieanalysescenario gedurende 1 minuten uit te voeren en het resultaat-TAR-bestand te uploaden naar het opslagaccount:

    sudo python perfinsights.py -r hpc -d 60S -a -t <StorageAccountName> -k <StorageAccountKey> -i <full resource Uri of the current VM>
    

    Opmerking

    Voordat een scenario wordt uitgevoerd, vraagt PerfInsights de gebruiker om akkoord te gaan met het delen van diagnostische gegevens en om akkoord te gaan met de gebruiksrechtovereenkomst. Gebruik de optie -a of --accept-disclaimer-and-share-diagnostics om deze prompts over te slaan.

    Als u een actief ondersteuningsticket bij Microsoft hebt en PerfInsights uitvoert op verzoek van de ondersteuningstechnicus waarmee u werkt, moet u het nummer van het ondersteuningsticket opgeven met behulp van de optie -s of --support-request .

Wanneer de uitvoering is voltooid, wordt een nieuw tar-bestand weergegeven in dezelfde map als PerfInsights, tenzij er geen uitvoermap is opgegeven. De naam van het bestand is PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz. U kunt dit bestand verzenden naar de ondersteuningsagent voor analyse of het rapport openen in het bestand om de bevindingen en aanbevelingen te bekijken.

Het diagnostische rapport bekijken

In het PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz-bestand vindt u een HTML-rapport met de resultaten van PerfInsights. Als u het rapport wilt bekijken, vouwt u het PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz-bestand uit en opent u vervolgens het bestand PerfInsights Report.html .

Tabblad Overzicht

Het tabblad Overzicht bevat basisuitvoeringsgegevens en informatie over virtuele machines. Op het tabblad Resultaten wordt een overzicht weergegeven van de aanbevelingen uit alle verschillende secties van het PerfInsights-rapport.

Schermopname van het tabblad Overzicht van het PerfInsights-rapport.

Schermopname van het tabblad Resultaten van het PerfInsights-rapport.

Opmerking

Resultaten die als hoog zijn gecategoriseerd, zijn bekende problemen die prestatieproblemen kunnen veroorzaken. Bevindingen die zijn gecategoriseerd als gemiddeld, vertegenwoordigen niet-optimale configuraties die niet noodzakelijkerwijs prestatieproblemen veroorzaken. Bevindingen die als laag zijn gecategoriseerd, zijn alleen informatieve instructies.

Bekijk de aanbevelingen en koppelingen voor alle hoge en gemiddelde resultaten. Meer informatie over hoe ze de prestaties kunnen beïnvloeden en ook over best practices voor configuraties die zijn geoptimaliseerd voor prestaties.

TABBLAD CPU

Het tabblad CPU bevat informatie over het CPU-verbruik voor het hele systeem tijdens de uitvoering van PerfInsights. Informatie over perioden met hoog CPU-gebruik en de meest langdurige CPU-verbruikers is handig om problemen met een hoog CPU-gebruik op te lossen.

Schermopname van het cpu-tabblad PerfInsights-rapport.

GPU-tabblad

Het tabblad GPU bevat informatie over bevindingen die nuttig zijn bij het oplossen van gpu-gerelateerde problemen.

Schermopname van het gpu-tabblad PerfInsights Report.

Tabblad Netwerk

Het tabblad Netwerk bevat informatie over de netwerkconfiguratie en -status. Informatie over netwerkgerelateerde bevindingen, waaronder InfiniBand-problemen in het HPC-scenario, vindt u hier.

Schermopname van het tabblad Netwerk.

Tabblad Opslag

In de sectie Bevindingen worden verschillende bevindingen en aanbevelingen met betrekking tot opslag weergegeven.

In de tabbladen Apparaten blokkeren en andere gerelateerde secties, zoals Partities, LVM en MDADM , wordt beschreven hoe blokapparaten worden geconfigureerd en aan elkaar zijn gerelateerd.

Schermopname van het tabblad Opslag.

Schermopname van het tabblad MDADM.

Linux-tabblad

Het tabblad Linux bevat informatie over de hardware en het besturingssysteem dat op uw VM wordt uitgevoerd. Details omvatten een lijst met actieve processen en informatie over gastagent, PCI, CPU, GPU, stuurprogramma's en LIS-stuurprogramma's.

Schermopname van het tabblad Linux en de details.

Of op een VM met GPU:

Schermopname van het gpu-tabblad onder het tabblad Linux en de details.

Volgende stappen

U kunt diagnostische logboeken en rapporten uploaden naar Microsoft Ondersteuning voor verdere controle. Wanneer u met de Microsoft Ondersteuning medewerkers werkt, kunnen ze u vragen de uitvoer te verzenden die wordt gegenereerd door PerfInsights om te helpen bij het probleemoplossingsproces.

In de volgende schermopname ziet u een bericht dat lijkt op wat u mogelijk ontvangt:

Schermopname van voorbeeldbericht van Microsoft Ondersteuning。

Volg de instructies in het bericht voor toegang tot de werkruimte voor bestandsoverdracht. Voor extra beveiliging moet u uw wachtwoord bij het eerste gebruik wijzigen.

Nadat u zich hebt aangemeld, vindt u een dialoogvenster om het PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz-bestand te uploaden dat is verzameld door PerfInsights.

Contacteer ons voor hulp

Als u vragen hebt of hulp nodig hebt, maak een ondersteuningsaanvraag of vraag de Azure-communityondersteuning. U kunt ook productfeedback verzenden naar de Feedback-community van Azure.