Delen via


Prestatieproblemen met virtuele Linux-machines oplossen met Prestatiediagnose (PerfInsights)

Van toepassing op: ✔️ Virtuele Linux-machines

Notitie

CentOS waarnaar in dit artikel wordt verwezen, is een Linux-distributie en bereikt het einde van de levensduur (EOL). Houd rekening met uw gebruik en plan dienovereenkomstig. Zie De richtlijnen voor het einde van de levensduur van CentOS voor meer informatie.

PerfInsights Linux is een zelfhulphulpprogramma voor diagnostische gegevens waarmee de diagnostische gegevens worden verzameld en geanalyseerd, en een rapport wordt geboden om prestatieproblemen met virtuele Linux-machines in Azure op te lossen. PerfInsights kan worden uitgevoerd op ondersteunde virtuele machines als 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.

Notitie

Continue diagnose (preview) wordt momenteel alleen ondersteund in Windows.

Ondersteunde scenario's voor probleemoplossing

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

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-machines (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 niet van invloed mag zijn op het systeem.

Notitie

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

Prestatieanalyse

Dit scenario is vergelijkbaar met snelle prestatieanalyse, maar staat het vastleggen van diagnostische gegevens voor langere tijd toe.

HPC-prestatieanalyse

Dit scenario is bedoeld voor het oplossen van problemen met VM's met HPC-grootte, wat betekent dat H-serie en N-serie. Er wordt een configuratie van virtuele machines 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

  • Informatie en configuratie van infiniBand-stuurprogramma's

  • Diagnostische gegevens van InfiniBand-apparaten

  • Netwerkconfiguratiebestanden

  • Informatie over het afstemmen van prestaties

Notitie

Sommige hulpprogramma's die worden gebruikt door het HPC-prestatieanalysescenario, 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, worden geen software op VM's geïnstalleerd of worden andere permanente wijzigingen aangebracht.

Notitie

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

Wat voor soort informatie wordt verzameld door PerfInsights

Informatie over de virtuele Linux-machine, het besturingssysteem, blokapparaten, hoge resourcegebruikers, configuratie en verschillende logboeken worden verzameld. Hier vindt u meer informatie:

  • Besturingssysteem

    • Linux-distributie en -versie
    • Kernelgegevens
    • Informatie over stuurprogramma's
    • VM-extensielogboeken voor Azure HPC-stuurprogramma's*
    • 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 gratis wisselgeheugen
    • Vastleggen van profilering van CPU en verwerkt CPU-gebruik met een interval van 5 seconden
    • Vastleggen van profilering 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
    • Netwerkrouteringstabel
    • Geopende poorten en status
    • InfiniBand-partitiesleutels*
    • Uitvoer van ibstat*
  • Storage

    • Apparaten blokkeren
    • Lijst met partities
    • Lijst met koppelpunten
    • MDADM-volumegegevens
    • LVM-volumegegevens
    • Profilering vastleggen op alle schijven met een interval van 5 seconden
  • Logboeken

    • /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 virtuele Azure-machine-exemplaren

* Alleen in HPC-scenario

Tracering van prestatiediagnose

Voert een engine op basis van regels op de achtergrond uit 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 bevindingen.
  • Aanbeveling: Aanbeveling over welke actie kan worden ondernomen voor de bevindingen. Er zijn ook referentiekoppelingen naar documentatie die meer informatie bieden over de zoek- en/of aanbeveling.
  • Impactniveau: Vertegenwoordigt het potentieel voor het beïnvloeden van de prestaties.

De volgende categorieën regels worden momenteel ondersteund:

  • Hoog resourcegebruik:

    • Hoog CPU-gebruik: detecteert perioden met een hoog CPU-gebruik en toont de belangrijkste CPU-gebruiksconsumenten gedurende die perioden.
    • Hoog geheugengebruik: detecteert perioden met een hoog geheugengebruik en toont de belangrijkste geheugengebruiksverbruikers tijdens deze perioden.
    • Hoog schijfgebruik: detecteert perioden met hoog schijfgebruik op fysieke schijven en toont de belangrijkste verbruikers van schijfgebruik tijdens deze perioden.
  • Opslag: Detecteert specifieke opslagconfiguraties.

  • Geheugen: detecteert specifieke geheugenconfiguraties.

  • GPU: Detecteert specifieke GPU-configuraties.

  • Netwerk: detecteert specifieke netwerkinstellingen.

  • Systeem: detecteert specifieke systeeminstellingen.

Notitie

[*] PCI-informatie wordt 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 VIRTUELE machine is geïnstalleerd, biedt het hulpprogramma PerfInsights een aanbeveling om het te installeren.

De PerfInsights Linux uitvoeren op uw VM

Wat moet ik weten voordat ik het hulpprogramma uitvoer

Hulpprogrammavereisten

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

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

    Notitie

    Python 2 wordt niet meer ondersteund door de Python Software Foundation (PSF). Als Python 2.7 op de VIRTUELE machine 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:

    Notitie

    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 werkt de versie 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

Notitie

[*] Raadpleeg Sectie Bekende problemen

Notitie

[*] Het HPC-scenario is afhankelijk van de HPCDiag tool, dus controleer de ondersteuningsmatrix voor ondersteunde VM-grootten en besturingssystemen. In het bijzonder worden VM's met NDv4-grootte nog niet ondersteund en rapporten voor deze VM's kunnen overbodige bevindingen vertonen.

Bekende problemen

  • RHEL 8 heeft 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 gastagentgegevens kan mislukken op CentOS 6.x.

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

  • LVM-informatie wordt gedeeltelijk verzameld op sommige distributies.

PerfInsights uitvoeren Hoe kan ik

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

Notitie

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

PerfInsights installeren en uitvoeren vanuit 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 die het bestand bevat perfinsights.py 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 uitvoer van de Linux-opdrachtregel perfInsights.

    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 snel prestatieanalysescenario 1 minuut uit te voeren en de resultaten te maken onder /tmp/uitvoermap:

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

    U kunt het onderstaande voorbeeld gebruiken om een prestatieanalysescenario uit te voeren voor 5 minuten en het resultaat (winkels 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 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>
    

    Notitie

    Voordat een scenario wordt uitgevoerd, vraagt PerfInsights de gebruiker om diagnostische gegevens te delen en 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 volgens de aanvraag van de ondersteuningstechnicus waarmee u werkt, moet u het ondersteuningsticketnummer 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 in het bestand openen om 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 informatie over de bevindingen 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 het bestand PerfInsights Report.html .

Tabblad Overzicht

Het tabblad Overzicht bevat eenvoudige uitvoeringsdetails en informatie over virtuele machines. Op het tabblad Resultaten ziet u een overzicht 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.

Notitie

Bevindingen die als hoog zijn gecategoriseerd, zijn bekende problemen die prestatieproblemen kunnen veroorzaken. Bevindingen die als gemiddeld zijn gecategoriseerd, 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 resultaten met hoge en gemiddelde resultaten. Meer informatie over hoe deze invloed kunnen hebben op de prestaties en ook over aanbevolen procedures voor configuraties die zijn geoptimaliseerd voor prestaties.

CPU-tabblad

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

Schermopname van het tabblad CPU-rapport perfInsights.

GPU-tabblad

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 Bevindingen 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 gerelateerd aan elkaar.

Schermopname van het tabblad Opslag.

Schermopname van het tabblad MDADM.

Tabblad Linux

Het tabblad Linux bevat informatie over de hardware en het besturingssysteem dat wordt uitgevoerd op uw VIRTUELE machine. Details zijn 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, wordt mogelijk gevraagd om de uitvoer die door PerfInsights wordt gegenereerd, te verzenden 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 eerste gebruik.

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

Contact met ons opnemen voor ondersteuning

Als u vragen hebt of hulp nodig hebt, maakt u een ondersteuningsaanvraag of stelt u ondersteuning voor de Azure-community. U kunt ook productfeedback verzenden naar de Azure-feedbackcommunity.