Udostępnij za pośrednictwem


Rozwiązywanie problemów z wydajnością maszyn wirtualnych z systemem Linux przy użyciu diagnostyki wydajności (PerfInsights)

Uwaga

CentOS, do którego odwołuje się ten artykuł, jest dystrybucją systemu Linux i osiągnie koniec życia (EOL). Rozważ użycie i odpowiednio zaplanuj. Aby uzyskać więcej informacji, zobacz Wskazówki dotyczące końca życia systemu CentOS.

PerfInsights Linux to samopomocy narzędzie diagnostyczne, które zbiera i analizuje dane diagnostyczne oraz udostępnia raport ułatwiający rozwiązywanie problemów z wydajnością maszyn wirtualnych z systemem Linux na platformie Azure. Narzędzie PerfInsights można uruchamiać na obsługiwanych maszynach wirtualnych jako narzędzie autonomiczne lub bezpośrednio z portalu przy użyciu diagnostyki wydajności dla maszyn wirtualnych platformy Azure.

Jeśli występują problemy z wydajnością maszyn wirtualnych, przed skontaktowaniem się z pomocą techniczną uruchom to narzędzie.

Uwaga

Ciągła diagnostyka (wersja zapoznawcza) jest obecnie obsługiwana tylko w systemie Windows.

Obsługiwane scenariusze rozwiązywania problemów

Usługa PerfInsights może zbierać i analizować kilka rodzajów informacji. Poniższe sekcje obejmują typowe scenariusze.

Szybka analiza wydajności

W tym scenariuszu są zbierane podstawowe informacje, takie jak konfiguracja magazynu i sprzętu maszyny wirtualnej, różne dzienniki, w tym:

  • Informacje o systemie operacyjnym

  • Informacje o urządzeniu PCI

  • Ogólne dzienniki systemu operacyjnego gościa

  • Pliki konfiguracji

  • Informacje o magazynie

  • Konfiguracja maszyny wirtualnej platformy Azure (zbierana przy użyciu usługi Azure Instance Metadata Service)

  • Lista uruchomionych procesów, dysków, pamięci i użycia procesora CPU

  • Informacje o sieci

Jest to pasywna kolekcja informacji, które nie powinny mieć wpływu na system.

Uwaga

Scenariusz szybkiej analizy wydajności jest automatycznie uwzględniany w każdym z następujących scenariuszy:

Analiza wydajności

Ten scenariusz jest podobny do szybkiej analizy wydajności, ale umożliwia przechwytywanie informacji diagnostycznych przez dłuższy czas.

Analiza wydajności hpc

Ten scenariusz jest przeznaczony do rozwiązywania problemów z maszynami wirtualnymi o rozmiarze HPC, czyli serii H i serii N. Sprawdza ona konfigurację maszyn wirtualnych pod kątem tego, co testował i zaleca zespół platformy Azure HPC Platform. Zbiera również dzienniki i diagnostykę związane ze stanem i konfiguracją specjalnego sprzętu dostępnego na tych maszynach wirtualnych, w tym:

  • Informacje o sterowniku procesora GPU

  • Diagnostyka sprzętu procesora GPU

  • Informacje i konfiguracja sterownika InfiniBand

  • Diagnostyka urządzenia InfiniBand

  • Pliki konfiguracji sieci

  • Informacje o dostrajaniu wydajności

Uwaga

Niektóre narzędzia używane w scenariuszu analizy wydajności HPC, takie jak polecenia interfejsu wiersza polecenia spakowane za pomocą sterowników urządzeń, nie są obecne na wszystkich maszynach wirtualnych. W takich przypadkach te fragmenty analizy zostaną pominięte. Uruchomienie tego scenariusza nie powoduje zainstalowania żadnego oprogramowania na maszynach wirtualnych ani nie wprowadza żadnych innych trwałych zmian.

Uwaga

Uruchamianie scenariusza HPC bezpośrednio w witrynie Azure Portal nie jest obecnie obsługiwane, dlatego należy pobrać aplikację PerfInsights i uruchomić ją z poziomu wiersza polecenia, aby z niego korzystać.

Jakiego rodzaju informacje są zbierane przez usługę PerfInsights

Zbierane są informacje o maszynie wirtualnej z systemem Linux, systemie operacyjnym, urządzeniach blokowych, wysokich konsumentach zasobów, konfiguracji i różnych dziennikach. Poniżej przedstawiono więcej informacji:

  • System operacyjny

    • Dystrybucja i wersja systemu Linux
    • Informacje o jądrze
    • Informacje o sterowniku
    • Dzienniki rozszerzenia maszyny wirtualnej sterownika HPC platformy Azure*
    • Konfiguracja SELinux*
  • Sprzęt

    • Urządzenia PCI [*]
    • Dane wyjściowe lscpu*
    • Zrzut tabeli systemu SYSTEM Management BIOS*
  • Procesy i pamięć

    • Lista procesów (nazwa zadania, używana pamięć, otwarte pliki)
    • Całkowita, dostępna i bezpłatna pamięć fizyczna
    • Całkowita, dostępna i bezpłatna pamięć zamiany
    • Profilowanie przechwytywania procesora CPU i przetwarza użycie procesora CPU w 5-sekundowym interwale
    • Przechwytywanie profilowania użycia pamięci procesów w 5-sekundowym interwale
    • Limity użytkowników dotyczące dostępu do pamięci*
    • Konfiguracja NUMA*
  • GPU

    • Dane wyjściowe usługi Nvidia SMI*
    • Diagnostyka dcgm firmy Nvidia*
    • Zrzut debugowania firmy Nvidia*
  • Sieci

    • Lista kart sieciowych ze statystykami kart
    • Tabela routingu sieci
    • Otwarte porty i stan
    • Klucze partycji InfiniBand*
    • Dane wyjściowe elementu ibstat*
  • Magazynowanie

    • Blokuj listę urządzeń
    • Lista partycji
    • Lista punktów instalacji
    • Informacje o woluminie MDADM
    • Informacje o woluminie LVM
    • Przechwytywanie profilowania na wszystkich dyskach w interwale 5 sekund
  • Dzienniki

    • /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 lub /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
    • Dane wyjściowe journalctl z ostatnich pięciu dni
  • Metadane wystąpienia maszyny wirtualnej platformy Azure

* Tylko w scenariuszu HPC

Śledzenie diagnostyki wydajności

Uruchamia aparat oparty na regułach w tle, aby zbierać dane i diagnozować bieżące problemy z wydajnością. Reguły są wyświetlane w raporcie na karcie Kategoria —> wyszukiwanie.

Każda reguła składa się z następujących elementów:

  • Znajdowanie: Opis ustaleń.
  • Zalecenie: Zalecenie dotyczące tego, jakie działania można podjąć w celu ustalenia. Istnieją również linki referencyjne do dokumentacji, które zawierają więcej informacji na temat znajdowania i/lub rekomendacji.
  • Poziom wpływu: reprezentuje potencjał wpływu na wydajność.

Obecnie obsługiwane są następujące kategorie reguł:

  • Wysokie użycie zasobów:

    • Wysokie użycie procesora CPU: wykrywa okresy wysokiego użycia procesora CPU i pokazuje najlepszych użytkowników użycia procesora CPU w tych okresach.
    • Wysokie użycie pamięci: wykrywa okresy dużego użycia pamięci i pokazuje najpopularniejszych użytkowników użycia pamięci w tych okresach.
    • Wysokie użycie dysku: wykrywa okresy wysokiego użycia dysków na dyskach fizycznych i pokazuje najpopularniejszych użytkowników użycia dysków w tych okresach.
  • Magazyn: wykrywa określone konfiguracje magazynu.

  • Pamięć: wykrywa określone konfiguracje pamięci.

  • Procesor GPU: wykrywa określone konfiguracje procesora GPU.

  • Sieć: wykrywa określone ustawienia sieci.

  • System: wykrywa określone ustawienia systemowe.

Uwaga

[*] Informacje o pci nie są jeszcze zbierane w dystrybucjach Debian i SLES.

[**] /var/log/sysstat lub /var/log/sa zawiera pliki raportu aktywności systemu (SAR), które są zbierane przez pakiet sysstat. Jeśli pakiet sysstat nie jest zainstalowany na maszynie wirtualnej, narzędzie PerfInsights udostępnia zalecenie, aby go zainstalować.

Uruchamianie systemu PerfInsights Linux na maszynie wirtualnej

Co muszę wiedzieć przed uruchomieniem narzędzia

Wymagania dotyczące narzędzi

  • To narzędzie musi być uruchamiane na maszynie wirtualnej z problemem z wydajnością.

  • Na maszynie wirtualnej należy zainstalować język Python 3.6 lub nowszą wersję.

    Uwaga

    Język Python 2 nie jest już obsługiwany przez program Python Software Foundation (PSF). Jeśli na maszynie wirtualnej jest zainstalowany język Python 2.7, można zainstalować program PerfInsights. Jednak żadne zmiany ani poprawki błędów nie zostaną wprowadzone w usłudze PerfInsights w celu obsługi języka Python 2.7. Aby uzyskać więcej informacji, zobacz Sunsetting Python 2.

  • Obecnie obsługiwane są następujące dystrybucje:

    Uwaga

    Firma Microsoft przetestowała tylko wersje wymienione w tabeli. Jeśli wersja nie znajduje się na liście w tabeli, nie jest jawnie testowana przez firmę Microsoft, ale wersja może nadal działać.

    Dystrybucja Wersja
    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

Uwaga

[*] Zapoznaj się z sekcją Znane problemy

Uwaga

[*] Scenariusz hpc opiera się na narzędziu HPCDiag , więc sprawdź jego macierz obsługi obsługiwanych rozmiarów maszyn wirtualnych i systemów operacyjnych. W szczególności maszyny wirtualne o rozmiarze NDv4 nie są jeszcze obsługiwane, a raporty dla tych maszyn wirtualnych mogą pokazywać dodatkowe wyniki.

Znane problemy

  • Program RHEL 8 nie ma domyślnie zainstalowanego języka Python. Aby uruchomić program PerfInsights Linux, należy najpierw zainstalować język Python w wersji 3.6 lub nowszej.

  • Zbieranie informacji o agentze gościa może zakończyć się niepowodzeniem w systemie CentOS 6.x.

  • Informacje o urządzeniach PCI nie są zbierane w dystrybucjach opartych na debianie.

  • Informacje LVM są częściowo zbierane w niektórych dystrybucjach.

Jak uruchomić narzędzie PerfInsights

Narzędzie PerfInsights można uruchomić na maszynie wirtualnej, instalując diagnostykę wydajności platformy Azure z witryny Azure Portal. Można go również uruchomić jako narzędzie autonomiczne.

Uwaga

Narzędzie PerfInsights po prostu zbiera i analizuje dane. Nie wprowadza żadnych modyfikacji w systemie.

Instalowanie i uruchamianie usługi PerfInsights w witrynie Azure Portal

Aby uzyskać więcej informacji na temat tej opcji, zobacz Diagnostyka wydajności platformy Azure.

Uruchamianie usługi PerfInsights w trybie autonomicznym

Aby uruchomić narzędzie PerfInsights, wykonaj następujące kroki:

  1. Pobierz PerfInsights.tar.gz do folderu na maszynie wirtualnej i wyodrębnij zawartość przy użyciu poniższych poleceń z terminalu.

    wget https://download.microsoft.com/download/9/F/8/9F80419C-D60D-45F1-8A98-718855F25722/PerfInsights.tar.gz
    
    tar xzvf PerfInsights.tar.gz
    
  2. Przejdź do folderu zawierającego perfinsights.py plik, a następnie uruchom polecenie perfinsights.py , aby wyświetlić dostępne parametry wiersza polecenia.

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

    Zrzut ekranu przedstawiający dane wyjściowe wiersza polecenia systemu Linux w usłudze PerfInsights.

    Podstawowa składnia do uruchamiania scenariuszy usługi PerfInsights to:

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

    Poniższy przykład umożliwia uruchomienie scenariusza szybkiej analizy wydajności przez 1 minutę i utworzenie wyników w folderze /tmp/output:

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

    Poniższy przykład umożliwia uruchamianie scenariusza analizy wydajności przez 5 minut i przekazywanie wyniku (przechowywanego w pliku TAR) na konto magazynu:

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

    Poniższy przykład umożliwia uruchomienie scenariusza analizy wydajności HPC przez 1 minutę i przekazanie pliku TAR wyniku na konto magazynu:

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

    Uwaga

    Przed uruchomieniem scenariusza usługa PerfInsights monituje użytkownika o wyrażenie zgody na udostępnianie informacji diagnostycznych i wyrażenie zgody na umowy EULA. Użyj opcji -a lub --accept-disclaimer-and-share-diagnostics , aby pominąć te monity.

    Jeśli masz aktywny bilet pomocy technicznej z firmą Microsoft i uruchamiasz usługę PerfInsights na żądanie inżyniera pomocy technicznej, z którym pracujesz, upewnij się, że podano numer biletu pomocy technicznej przy użyciu opcji -s lub --support-request .

Po zakończeniu uruchamiania nowy plik tar zostanie wyświetlony w tym samym folderze co program PerfInsights, chyba że nie określono żadnego folderu wyjściowego. Nazwa pliku to PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz. Możesz wysłać ten plik do agenta pomocy technicznej w celu analizy lub otworzyć raport w pliku, aby przejrzeć wyniki i zalecenia.

Przejrzyj raport diagnostyczny

W pliku PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz można znaleźć raport HTML zawierający szczegółowe informacje o wynikach narzędzia PerfInsights. Aby przejrzeć raport, rozwiń plik PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz , a następnie otwórz plik Report.htmlperfInsights .

Karta Przegląd

Karta Przegląd zawiera podstawowe szczegóły przebiegu i informacje o maszynie wirtualnej. Karta Wyniki zawiera podsumowanie zaleceń ze wszystkich różnych sekcji raportu usługi PerfInsights.

Zrzut ekranu przedstawiający kartę Przegląd raportu usługi PerfInsights.

Zrzut ekranu przedstawiający kartę Wyniki raportu usługi PerfInsights.

Uwaga

Wyniki sklasyfikowane jako wysokie są znanymi problemami, które mogą powodować problemy z wydajnością. Wyniki sklasyfikowane jako średnie reprezentują nieoptymalne konfiguracje, które niekoniecznie powodują problemy z wydajnością. Wyniki sklasyfikowane jako niskie są tylko instrukcjami informacyjnymi.

Przejrzyj rekomendacje i linki dla wszystkich wyników wysokich i średnich. Dowiedz się, jak mogą wpływać na wydajność, a także o najlepszych rozwiązaniach dotyczących konfiguracji zoptymalizowanych pod kątem wydajności.

Karta procesora CPU

Karta Procesora CPU zawiera informacje o zużyciu procesora CPU w całym systemie podczas uruchamiania usługi PerfInsights. Informacje o okresach wysokiego użycia procesora CPU i najpopularniejszych długotrwałych konsumentach procesora CPU będą pomocne w rozwiązywaniu problemów związanych z wysokim użyciem procesora CPU.

Zrzut ekranu przedstawiający kartę Procesora CPU raportu usługi PerfInsights.

Karta PROCESORA GPU

Karta PROCESORA GPU zawiera informacje o ustaleniach, które będą pomocne w rozwiązywaniu problemów związanych z procesorem GPU.

Zrzut ekranu przedstawiający kartę Procesor GPU raportu usługi PerfInsights.

Karta Sieć

Karta Sieć zawiera informacje o konfiguracji i stanie sieci. Informacje o wynikach związanych z siecią, w tym o problemach z rozwiązaniem InfiniBand w scenariuszu HPC, można znaleźć tutaj.

Zrzut ekranu przedstawiający kartę Sieć.

Karta Magazyn

Sekcja Wyniki zawiera różne wyniki i zalecenia związane z magazynem.

Karty Blokuj urządzenia i inne powiązane sekcje, takie jak Partycje, LVM i MDADM , opisują sposób konfigurowania i powiązania urządzeń blokujących ze sobą.

Zrzut ekranu przedstawiający kartę Magazyn.

Zrzut ekranu przedstawiający kartę MDADM.

Karta Linux

Karta Linux zawiera informacje o sprzęcie i systemie operacyjnym uruchomionym na maszynie wirtualnej. Szczegóły obejmują listę uruchomionych procesów i informacje o agentach gościa, pci, procesorze CPU, procesorze GPU, sterownikach i sterownikach LIS.

Zrzut ekranu przedstawiający kartę systemu Linux i szczegóły.

Lub na maszynie wirtualnej z obsługą procesora GPU:

Zrzut ekranu przedstawiający kartę PROCESORA GPU na karcie Linux i szczegóły.

Następne kroki

Dzienniki diagnostyczne i raporty można przekazać do pomocy technicznej firmy Microsoft w celu dalszego przeglądu. Podczas pracy z personelem pomocy technicznej firmy Microsoft mogą oni poprosić o przesłanie danych wyjściowych generowanych przez usługę PerfInsights w celu pomocy w procesie rozwiązywania problemów.

Poniższy zrzut ekranu przedstawia komunikat podobny do tego, który może zostać wyświetlony:

Zrzut ekranu przedstawiający przykładowy komunikat z pomocy technicznej firmy Microsoft。

Postępuj zgodnie z instrukcjami w komunikacie, aby uzyskać dostęp do obszaru roboczego transferu plików. Aby uzyskać dodatkowe zabezpieczenia, musisz zmienić hasło przy pierwszym użyciu.

Po zalogowaniu się zostanie wyświetlone okno dialogowe umożliwiające przekazanie pliku PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz , który został zebrany przez usługę PerfInsights.

Skontaktuj się z nami, aby uzyskać pomoc

Jeśli masz pytania lub potrzebujesz pomocy, utwórz wniosek o pomoc techniczną lub zadaj pytanie w społeczności wsparcia dla platformy Azure. Możesz również przesłać opinię o produkcie do społeczności opinii platformy Azure.