PerfInsights gebruiken

PerfInsights Linux is een hulpprogramma voor zelfhulpdiagnose waarmee de diagnostische gegevens worden verzameld en geanalyseerd, en biedt een rapport voor het oplossen van prestatieproblemen met virtuele Linux-machines in Azure. 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 op neemt met de ondersteuning.

Ondersteunde scenario's voor probleemoplossing

PerfInsights kan verschillende soorten informatie verzamelen en analyseren. De volgende secties hebben betrekking op veelvoorkomende scenario's.

Snelle prestatieanalyse

In dit scenario worden basisgegevens verzameld, zoals 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-machine (verzameld met behulp van Azure Instance Metadata Service)

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

  • Netwerkinformatie

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 diagnostische gegevens voor een langere duur vast te leggen.

HPC-prestatieanalyse

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

  • Informatie over GPU-stuurprogramma

  • Gpu-hardwarediagnose

  • Informatie en configuratie van infiniBand-stuurprogramma

  • InfiniBand-apparaatdiagnose

  • Netwerkconfiguratiebestanden

  • Informatie over het afstemmen van prestaties

Opmerking

Sommige hulpprogramma's die worden gebruikt door het HPC-scenario voor prestatieanalyse, zoals CLI-opdrachten die zijn verpakt met 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 rechtstreeks uitvoeren van het HPC-scenario vanuit Azure Portal wordt op dit moment niet ondersteund, dus PerfInsights moet worden gedownload en uitgevoerd vanaf de opdrachtregel om het te kunnen gebruiken.

Wat voor soort informatie wordt verzameld door PerfInsights

Er wordt informatie verzameld over de virtuele Linux-machine, het besturingssysteem, blokapparaten, gebruikers van hoge bronnen, configuratie en verschillende logboeken. Hier vindt u meer informatie:

  • Besturingssysteem

    • Linux-distributie en -versie
    • Kernelgegevens
    • Informatie over stuurprogramma's
    • Azure HPC Driver VM-extensielogboeken*
    • SELinux-configuratie*
  • Hardware

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

    • Lijst met processen (taaknaam, geheugen gebruikt, geopende bestanden)
    • Totaal, beschikbaar en vrij fysiek geheugen
    • Totaal, beschikbaar en vrij wisselgeheugen
    • Profileringsopname van CPU en verwerkt CPU-gebruik met interval van 5 seconden
    • Profilering vastleggen van het geheugengebruik van processen met een interval van 5 seconden
    • Gebruikerslimieten voor geheugentoegang*
    • NUMA-configuratie*
  • Gpu

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

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

    • Lijst met geblokkeerde apparaten
    • Lijst met partities
    • Lijst met koppelpunten
    • MDADM-volumegegevens
    • LVM-volumegegevens
    • Profileringsopname op alle schijven met een 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/[extension folder]/*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 virtual machine instance

* Alleen in HPC-scenario

Tracering van prestatiediagnose

Hiermee wordt een op regels gebaseerde engine op de achtergrond uitgevoerd om gegevens te verzamelen en doorlopende prestatieproblemen te diagnosticeren. 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 zoekactie. Er zijn ook referentiekoppelingen naar documentatie die meer informatie bieden over de zoek- en/of aanbeveling.
  • Impactniveau: vertegenwoordigt de mogelijkheid om invloed te hebben 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-verbruiksverbruikers tijdens deze perioden.
    • Hoog geheugengebruik: detecteert perioden voor hoog geheugengebruik en toont de belangrijkste geheugengebruiksconsumenten tijdens deze perioden.
    • Hoog schijfgebruik: detecteert perioden met hoog schijfgebruik op fysieke schijven en toont de belangrijkste verbruikers van schijven 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-gegevens worden nog niet verzameld over 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 op de VM is geïnstalleerd, wordt u aangeraden het perfInsights-hulpprogramma te installeren.

PerfInsights Linux uitvoeren op uw VM

Wat moet ik weten voordat ik het hulpprogramma uitvoer

Vereisten voor hulpprogramma's

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

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

    Opmerking

    Python 2 wordt niet meer ondersteund door de Python Software Foundation (PSF). Als Python 2.7 is geïnstalleerd op de VM, 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:

    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
    Ubuntu 14.04, 16.04, 18.04, 20.04
    Debian 8, 9, 10, 11 [*]
    SLES 12 SP4 [*], 12 SP5 [*], 15 [*], 15 SP1 [*], 15 SP2 [*], 15 SP4 [*]
    AlmaLinux 8.4, 8.5

Opmerking

[*] Raadpleeg de sectie Bekende problemen

Opmerking

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

Bekende problemen

  • In RHEL 8 is Python niet standaard geïnstalleerd. Als u PerfInsights Linux wilt uitvoeren, moet u eerst Python 2.7 of Python 3.x installeren

  • Het verzamelen van gastagentgegevens kan mislukken op CentOS 6.x

  • PCI-apparaten worden niet verzameld over debian-distributies

  • LVM-informatie wordt gedeeltelijk verzameld over bepaalde 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 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 deze uit perfinsights.py om de beschikbare opdrachtregelparameters weer te geven.

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

    Schermopname van de opdrachtregeluitvoer van PerfInsights Linux.

    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 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 gedurende 5 minuten een prestatieanalysescenario 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 1 minuut uit te voeren en het TAR-resultaatbestand 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 u een scenario uitvoert, 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 de optie -s of --support-request .

Wanneer de uitvoering is voltooid, wordt er 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 naar de ondersteuningsagent verzenden voor analyse of het rapport in het bestand openen om de resultaten en aanbevelingen te bekijken.

Het diagnostische rapport controleren

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

Tabblad Overzicht

Het tabblad Overzicht bevat basisbewerkingsdetails en informatie over virtuele machines. Op het tabblad Resultaten wordt een samenvatting 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

Bevindingen 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 high- en medium 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 systeembrede CPU-verbruik tijdens de uitvoering van PerfInsights. Informatie over perioden met hoog CPU-gebruik en de meest langlopende CPU-verbruikers is handig om problemen met hoog CPU-verbruik op te lossen.

Schermopname van het tabblad CPU van PerfInsights Report.

Tabblad GPU

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

Schermopname van het tabblad PerfInsights Report GPU.

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 Resultaten worden verschillende bevindingen en aanbevelingen met betrekking tot opslag weergegeven.

Op de tabbladen Blokapparaten 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.

Tabblad Linux

Het tabblad Linux bevat informatie over de hardware en het besturingssysteem dat op uw VM wordt uitgevoerd. Details bevatten 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 tabblad GPU 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 het Microsoft Ondersteuning-personeel werkt, kunnen ze u vragen de uitvoer te verzenden die wordt gegenereerd door PerfInsights om u 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 wijzigen bij het eerste gebruik.

Nadat u zich hebt aangemeld, vindt u een dialoogvenster voor het uploaden van het bestand PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz 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.