Rozwiązywanie problemów z wydajnością maszyny wirtualnej z systemem Linux przy użyciu diagnostyki wydajności (PerfInsights)
Dotyczy: ✔️ maszyny wirtualne z systemem Linux
Uwaga 16.
CentOS, do których odwołuje się ten artykuł, jest dystrybucją systemu Linux i osiągnie koniec życia (EOL). Rozważ odpowiednie użycie i zaplanuj. Aby uzyskać więcej informacji, zobacz CentOS End Of Life guidance (Wskazówki dotyczące zakończenia życia systemu CentOS).
PerfInsights Linux to narzędzie do samodzielnej diagnostyki, 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że być uruchamiane 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 16.
Ciągła diagnostyka (wersja zapoznawcza) jest obecnie obsługiwana tylko w systemie Windows.
Obsługiwane scenariusze rozwiązywania problemów
Narzędzie PerfInsights może zbierać i analizować kilka rodzajów informacji. W poniższych sekcjach opisano typowe scenariusze.
Szybka analiza wydajności
Ten scenariusz zbiera 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, dysku, 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 16.
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, co oznacza serię H i N-Series. Sprawdza konfigurację maszyn wirtualnych pod kątem tego, co zespół platformy Azure HPC przetestował i zaleca. Zbiera również dzienniki i diagnostykę związaną ze stanem i konfiguracją specjalnego sprzętu, który jest dostępny 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 16.
Niektóre narzędzia używane w scenariuszu analizy wydajności HPC, takie jak polecenia interfejsu wiersza polecenia, które są pakowane za pomocą sterowników urządzeń, nie są obecne na wszystkich maszynach wirtualnych. W takich przypadkach te części analizy zostaną pominięte. Uruchomienie tego scenariusza nie instaluje żadnego oprogramowania na maszynach wirtualnych ani nie wprowadza żadnych innych stałych zmian.
Uwaga 16.
Uruchomienie scenariusza HPC bezpośrednio w witrynie Azure Portal nie jest obecnie obsługiwane, dlatego narzędzie PerfInsights należy pobrać i uruchomić z wiersza polecenia, aby go użyć.
Jakiego rodzaju informacje są zbierane przez narzędzie PerfInsights
Zbierane są informacje o maszynie wirtualnej z systemem Linux, systemie operacyjnym, urządzeniach blokowych, użytkownikach wysokiego zasobu, konfiguracji i różnych dziennikach. Poniżej przedstawiono więcej szczegółów:
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 bios zarządzania systemem
*
- 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
- Łączna, dostępna i bezpłatna pamięć wymiany
- Profilowanie przechwytywania użycia procesora CPU i procesów w 5-sekundowym interwale
- Profilowanie przechwytywania użycia pamięci procesów w 5-sekundowym interwale
- Limity użytkowników dotyczące dostępu do pamięci
*
- Konfiguracja NUMA
*
Procesor GPU
- Dane wyjściowe SMI firmy Nvidia
*
- Diagnostyka narzędzia Nvidia DCGM
*
- Zrzut debugowania firmy Nvidia
*
- Dane wyjściowe SMI firmy Nvidia
Sieci
- Lista kart sieciowych ze statystykami kart sieciowych
- Tabela routingu sieciowego
- Otwarte porty i stan
- Klucze partycji InfiniBand
*
- Dane wyjściowe ibstat
*
Magazynowanie
- Lista zablokowanych urządzeń
- Lista partycji
- Lista punktów instalacji
- Informacje o woluminie MDADM
- Informacje o woluminie LVM
- Profilowanie przechwytywania na wszystkich dyskach w 5-sekundowych przedziałach czasu
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 —> Znajdowanie.
Każda reguła składa się z następujących elementów:
- Znalezienie: Opis znalezienia.
- Zalecenie: zalecenie dotyczące tego, jakie działania można podjąć w celu znalezienia. 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 wysokie okresy użycia procesora CPU i pokazuje największych użytkowników użycia procesora CPU w tych okresach.
- Wysokie użycie pamięci: wykrywa okresy wysokiego użycia pamięci i pokazuje użytkowników najwyższego użycia pamięci w tych okresach.
- Wysokie użycie dysku: wykrywa okresy wysokiego użycia dysku na dyskach fizycznych i pokazuje użytkowników najwyższego 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 sieciowe.
System: wykrywa określone ustawienia systemowe.
Uwaga 16.
[*
] Informacje 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 dotyczące jego zainstalowania.
Uruchamianie narzędzia 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, która ma problem z wydajnością.
Na maszynie wirtualnej musi być zainstalowany język Python w wersji 3.6 lub nowszej.
Uwaga 16.
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ć narzędzie PerfInsights. Jednak w programie PerfInsights nie zostaną wprowadzone żadne zmiany ani poprawki błędów w celu obsługi języka Python 2.7. Aby uzyskać więcej informacji, zobacz Sunsetting Python 2 (Sunsetting Python 2).
Obecnie obsługiwane są następujące dystrybucje:
Uwaga 16.
Firma Microsoft przetestowała tylko wersje wymienione w tabeli. Jeśli wersja nie jest wymieniona w tabeli, nie jest ona 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 16.
[*
] Zapoznaj się z Sekcja Znanych problemów
Uwaga 16.
[*
] Scenariusz HPC opiera się na Narzędzie HPCDiag umożliwia sprawdzenie macierzy 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ą wykazywać nadmiarowe wyniki.
Znane problemy
System RHEL 8 domyślnie nie ma zainstalowanego języka Python, ponieważ dostępne są zarówno języki Python 2, jak i Python 3.6. Aby zainstalować język Python 3.6, uruchom
yum install python3
polecenie .Zbieranie informacji o agencie 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 mogę uruchomić narzędzie PerfInsights
Narzędzie PerfInsights można uruchomić na maszynie wirtualnej, instalując diagnostykę wydajności platformy Azure w witrynie Azure Portal. Można go również uruchomić jako autonomiczne narzędzie.
Uwaga 16.
Narzędzie PerfInsights po prostu zbiera i analizuje dane. Nie wprowadza żadnych modyfikacji systemu.
Instalowanie i uruchamianie narzędzia PerfInsights w witrynie Azure Portal
Aby uzyskać więcej informacji na temat tej opcji, zobacz Diagnostyka wydajności platformy Azure.
Uruchamianie narzędzia 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
Podstawową składnią uruchamiania scenariuszy narzędzia PerfInsights jest:
sudo python perfinsights.py -r <ScenarioName> -d [duration]<H | M | S> [AdditionalOptions]
Poniższy przykład umożliwia uruchomienie scenariusza szybkiej analizy wydajności na 1 minutę i zapisanie wyników w folderze /tmp/output:
sudo python perfinsights.py -r quick -d 1M -a -o /tmp/output
W poniższym przykładzie możesz uruchomić scenariusz analizy wydajności dla 5 minut i przekazać wynik (magazyny w pliku TAR) do konta magazynu:
sudo python perfinsights.py -r vmslow -d 300S -a -t <StorageAccountName> -k <StorageAccountKey> -i <full resource Uri of the current VM>
W poniższym przykładzie możesz uruchomić scenariusz analizy wydajności HPC dla 1 minut i przekazać wynikowy plik TAR 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 16.
Przed uruchomieniem scenariusza program PerfInsights monituje użytkownika o zaakceptowanie udostępniania informacji diagnostycznych i zaakceptowanie umowy LICENCYJNEj. Użyj opcji -a lub --accept-disclaimer-and-share-diagnostics , aby pominąć te monity.
Jeśli masz aktywny bilet pomocy technicznej dla firmy Microsoft i uruchamiasz narzędzie PerfInsights zgodnie z żądaniem inżyniera pomocy technicznej, z którym pracujesz, upewnij się, że podaj numer biletu pomocy technicznej przy użyciu opcji -s lub --support-request .
Po zakończeniu przebiegu nowy plik tar pojawia się w tym samym folderze co narzędzie PerfInsights, chyba że nie określono żadnego folderu wyjściowego. Nazwa pliku to PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz. Ten plik można wysłać do agenta pomocy technicznej na potrzeby analizy lub otworzyć raport w pliku, aby przejrzeć wyniki i zalecenia.
Przeglądanie raportu diagnostycznego
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.html narzędzia PerfInsights.
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 narzędzia PerfInsights.
Uwaga 16.
Wyniki sklasyfikowane jako wysokie to znane problemy, które mogą powodować problemy z wydajnością. Wyniki sklasyfikowane jako średnie reprezentują nieznimne konfiguracje, które niekoniecznie powodują problemy z wydajnością. Wyniki sklasyfikowane jako niskie są tylko instrukcjami informacyjnymi.
Przejrzyj zalecenia i linki do wszystkich wyników o wysokim i średnim poziomie. 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 użyciu procesora CPU w całym systemie podczas uruchamiania narzędzia PerfInsights. Informacje na temat okresów wysokiego użycia procesora CPU i najważniejszych długotrwałych użytkowników procesora CPU będą pomocne w rozwiązywaniu problemów związanych z wysokim użyciem procesora CPU.
Karta procesora GPU
Karta GPU zawiera informacje o wynikach, 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 na temat wyników związanych z siecią, w tym problemów z rozwiązaniem InfiniBand w scenariuszu HPC, można znaleźć tutaj.
Karta Magazyn
W sekcji Wyniki są wyświetlane różne ustalenia i zalecenia związane z magazynem.
Blokowe urządzenia i inne powiązane sekcje, takie jak partycje, LVM i karty MDADM, opisują sposób konfigurowania urządzeń blokowych i ich wzajemnego związku.
Karta Systemu Linux
Karta Linux zawiera informacje na temat sprzętu i systemu operacyjnego uruchomionego na maszynie wirtualnej. Szczegóły zawierają listę uruchomionych procesów i informacji o agentach gościa, PCI, CPU, GPU, sterownikach i lisach.
Lub na maszynie wirtualnej z obsługą procesora GPU:
Następne kroki
Możesz przekazać dzienniki diagnostyczne i raporty do pomoc techniczna firmy Microsoft w celu dalszej weryfikacji. Podczas pracy z personelem pomoc techniczna firmy Microsoft mogą poprosić o przesłanie danych wyjściowych wygenerowanych przez program PerfInsights w celu ułatwienia procesu rozwiązywania problemów.
Poniższy zrzut ekranu przedstawia komunikat podobny do tego, co może zostać wyświetlone:
Postępuj zgodnie z instrukcjami w komunikacie, aby uzyskać dostęp do obszaru roboczego transferu plików. Aby zapewnić dodatkowe zabezpieczenia, musisz zmienić hasło podczas pierwszego użycia.
Po zalogowaniu zostanie wyświetlone okno dialogowe umożliwiające przekazanie pliku PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz zebranego przez program 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 na temat platformy Azure.