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
*
- Urządzenia PCI [
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
*
- Dane wyjściowe usługi Nvidia SMI
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
*
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.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
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:
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
Przejdź do folderu zawierającego
perfinsights.py
plik, a następnie uruchom polecenieperfinsights.py
, aby wyświetlić dostępne parametry wiersza polecenia.cd <the path of PerfInsights folder> sudo python perfinsights.py
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.
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.
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.
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.
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ą.
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.
Lub na maszynie wirtualnej z obsługą procesora GPU:
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:
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.
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla