Поделиться через


Устранение неполадок с производительностью виртуальных машин Linux с помощью диагностики производительности (PerfInsights)

Область применения: ✔️ виртуальные машины Linux

Примечание.

CentOS, на который ссылается в этой статье, является дистрибутивом Linux и достигнет конца жизни (EOL). Думайте об использовании и планировании соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

PerfInsights Linux — это средство самостоятельного диагностика, которое собирает и анализирует диагностические данные и предоставляет отчет для устранения неполадок с производительностью виртуальных машин Linux в Azure. PerfInsights можно запускать на поддерживаемых виртуальных машинах как автономное средство или непосредственно с портала с помощью диагностики производительности для виртуальных машин Azure.

При возникновении проблем производительности на виртуальных машинах перед обращением в службу поддержки запустите это средство.

Примечание.

Непрерывная диагностика (предварительная версия) в настоящее время поддерживается только в Windows.

Поддерживаемые сценарии устранения неисправностей

PerfInsights может собирать и анализировать несколько типов данных. В следующих разделах описываются типовые сценарии.

Быстрый анализ производительности

В этом сценарии собираются основные сведения, такие как хранилище и конфигурация оборудования виртуальной машины, различные журналы, в том числе:

  • Сведения о операционной системе

  • Сведения об устройстве PCI

  • Общие журналы гостевой ОС

  • Файлы конфигурации

  • Сведения о хранилище

  • Конфигурация виртуальной машины Azure (собранная с помощью службы метаданных экземпляра Azure)

  • Список выполняемых процессов, дисков, памяти и ЦП

  • Сведения о сети

Это пассивный сбор данных, который не должен повлиять на систему.

Примечание.

Сценарий быстрого анализа производительности автоматически включается в каждый из следующих сценариев:

Анализ производительности

Этот сценарий аналогичен быстрому анализу производительности, но позволяет записывать диагностика информацию в течение длительного времени.

Анализ производительности HPC

Этот сценарий предназначен для устранения неполадок на виртуальных машинах размера HPC, то есть серии H и N-серии. Он проверяет конфигурацию виртуальных машин в зависимости от того, что команда платформы Azure HPC тестировала и рекомендует. Он также собирает журналы и диагностика, связанные с состоянием и конфигурацией специального оборудования, доступного на этих виртуальных машинах, в том числе:

  • Сведения о драйвере GPU

  • Аппаратные диагностика GPU

  • Сведения о драйвере и конфигурации InfiniBand

  • Диагностика устройства InfiniBand

  • Файлы конфигурации сети

  • Сведения о настройке производительности

Примечание.

Некоторые средства, используемые сценарием анализа производительности HPC, такие как команды cli, упакованные с драйверами устройств, не присутствуют на всех виртуальных машинах. В таких случаях эти части анализа будут пропущены. Выполнение этого сценария не устанавливает программное обеспечение на виртуальных машинах или вносит другие постоянные изменения.

Примечание.

Запуск сценария HPC непосредственно на портале Azure не поддерживается в настоящее время, поэтому PerfInsights необходимо скачать и запустить из командной строки, чтобы использовать его.

Какой тип информации собирает PerfInsights

Собираются сведения о виртуальной машине Linux, операционной системе, блочных устройствах, потребителей ресурсов, конфигурации и различных журналах. Вот дополнительные сведения:

  • Операционная система

    • Дистрибутив и версия Linux
    • Сведения о ядре
    • Сведения о драйвере
    • Журналы расширений виртуальной машины драйвера HPC Azure*
    • Конфигурация SELinux*
  • Оборудование

    • Устройства PCI [*]
    • Выходные данные lscpu*
    • Дамп таблицы BIOS управления системой*
  • Процессы и память

    • Список процессов (имя задачи, использованная память, открытые файлы)
    • Общая, доступная и бесплатная физическая память
    • Общее, доступное и свободное буфер памяти
    • Запись профилирования ЦП и обрабатывает использование ЦП в 5 секундах
    • Запись профилирования операций использования памяти в 5-секундном интервале
    • Ограничения пользователей для доступа к памяти*
    • Конфигурация NUMA*
  • GPU

    • Выходные данные Nvidia SMI*
    • Диагностика NVIDIA DCGM*
    • Отладочный дампы Nvidia*
  • Сеть

    • Список сетевых адаптеров со статистикой адаптеров
    • Таблица маршрутизации сети
    • Открытые порты и состояние
    • Ключи секции InfiniBand*
    • Выходные данные ibstat*
  • Хранилище

    • Список блокировок устройств
    • Список секций
    • Список точек подключения
    • Информация о томе MDADM
    • Информация о томе LVM
    • Запись профилирования на всех дисках с интервалом в 5 секунд
  • Журналы

    • /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 или /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/[папка расширения]/*log*
    • /var/opt/microsoft/omsconfig/omsconfig.log
    • /var/opt/microsoft/omsagent/log/omsagent.log;
    • /etc/waagent.config
    • Выходные данные журнала за последние пять дней
  • Метаданные экземпляра виртуальной машины Azure

* Только в сценарии HPC

Трассировка диагностика производительности

Запускает в фоновом режиме модуль на основе правила для сбора данных и диагностики проблем с производительностью системы. Правила отображаются в отчете на вкладке "Категория —> поиск".

Каждое правило состоит из следующих элементов:

  • Поиск. Описание нахождения.
  • Рекомендация. Рекомендация о том, какие действия можно предпринять для поиска. Существуют также ссылочные ссылки на документацию, которые предоставляют дополнительные сведения о поиске и /или рекомендации.
  • Уровень влияния: представляет потенциал для влияния на производительность.

В настоящее время поддерживаются следующие категории правил:

  • Высокий уровень использования ресурсов:

    • Высокая загрузка ЦП: обнаруживает периоды использования ЦП и показывает наиболее распространенные потребители ЦП в течение этих периодов.
    • Высокая загрузка памяти: обнаруживает периоды использования большого объема памяти и показывает наиболее распространенных потребителей использования памяти в течение этих периодов.
    • Высокий уровень использования диска: обнаруживает периоды использования дисков на физических дисках и показывает наиболее распространенных потребителей использования дисков в течение этих периодов.
  • Хранилище: определяет определенные конфигурации хранилища.

  • Память: обнаруживает определенные конфигурации памяти.

  • GPU: обнаруживает определенные конфигурации GPU.

  • Сеть: обнаруживает определенные параметры сети.

  • Система: обнаруживает определенные параметры системы.

Примечание.

[*] Сведения о PCI еще не собираются в дистрибутивах Debian и SLES.

[**] /var/log/sysstat или /var/log/sa содержит файлы отчета о действиях системы (SAR), собранные пакетом sysstat. Если пакет sysstat не установлен на виртуальной машине, средство PerfInsights предоставляет рекомендацию по его установке.

Запуск PerfInsights Linux на виртуальной машине

Что нужно знать, прежде чем запускать инструмент

Требования инструмента

  • Этот инструмент следует запускать на виртуальных машинах с проблемами производительности.

  • На виртуальной машине необходимо установить Python 3.6 или более позднюю версию.

    Примечание.

    Python 2 больше не поддерживается Python Software Foundation (PSF). Если на виртуальной машине установлен Python 2.7, можно установить PerfInsights. Однако изменения или исправления ошибок не будут сделаны в PerfInsights для поддержки Python 2.7. Дополнительные сведения см. в разделе "Закатирование Python 2".

  • В настоящее время поддерживаются следующие дистрибутивы:

    Примечание.

    Корпорация Майкрософт тестирует только версии, перечисленные в таблице. Если версия не указана в таблице, она не проверяется корпорацией Майкрософт, но версия может по-прежнему работать.

    Распределение Версия
    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

Примечание.

[*] Обратитесь к Раздел известных проблем

Примечание.

[*] Сценарий HPC зависит от Средство HPCDiag , поэтому проверьте матрицу поддержки поддерживаемых размеров виртуальных машин и OSES. В частности, виртуальные машины размера NDv4 пока не поддерживаются, а отчеты для этих виртуальных машин могут отображать дополнительные результаты.

Известные проблемы

  • RHEL 8 по умолчанию не установлен Python, так как доступен Python 2 и Python 3.6. Чтобы установить Python 3.6, выполните yum install python3 команду.

  • Сбор сведений о гостевом агенте может завершиться ошибкой в CentOS 6.x.

  • Сведения о устройствах PCI не собираются в дистрибутивах на основе Debian.

  • Сведения о LVM частично собираются в некоторых дистрибутивах.

Разделы справки запустить PerfInsights

Вы можете запустить PerfInsights на виртуальной машине, установив диагностику производительности Azure из портал Azure. Кроме того, вы можете запустить его в качестве автономного инструмента.

Примечание.

PerfInsights просто собирает и анализирует данные. Он не вносит никаких изменений в систему.

Установка и запуск PerfInsights на портале Azure

Дополнительные сведения об этом параметре см. в статье "Диагностика производительности Azure".

Запуск PerfInsights в автономном режиме

Чтобы запустить инструмент PerfInsights, сделайте следующее.

  1. Скачайте PerfInsights.tar.gz в папку на виртуальной машине и извлеките содержимое с помощью приведенных ниже команд из терминала.

    wget https://download.microsoft.com/download/9/F/8/9F80419C-D60D-45F1-8A98-718855F25722/PerfInsights.tar.gz
    
    tar xzvf PerfInsights.tar.gz
    
  2. Перейдите к папке, содержащей perfinsights.py файл, и запустите perfinsights.py , чтобы просмотреть доступные параметры командной строки.

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

    Снимок экрана: выходные данные командной строки PerfInsights Linux.

    Ниже приведен пример базового синтаксиса для запуска сценариев PerfInsights:

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

    В следующем примере можно запустить сценарий быстрого анализа производительности в течение 1 минуты и создать результаты в папке /tmp/output:

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

    Приведенный ниже пример можно использовать для выполнения сценария анализа производительности в течение 5 минут и отправки результата (хранится в ФАЙЛЕ TAR) в учетную запись хранения:

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

    Приведенный ниже пример можно использовать для запуска сценария анализа производительности HPC в течение 1 минут и отправки результата TAR-файла в учетную запись хранения:

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

    Примечание.

    Перед запуском сценария PerfInsights запрашивает у пользователя согласие на обмен диагностическими данными и согласие с условиями лицензии. Используйте параметр -a или --accept-accept-disclaimer-and-share-диагностика, чтобы пропустить эти запросы.

    Если у вас есть активный запрос в службу поддержки с корпорацией Майкрософт и выполнение PerfInsights по запросу инженера службы поддержки, с которым вы работаете, обязательно укажите номер запроса в службу поддержки с помощью параметра -s или --support-request .

После завершения выполнения новый tar-файл появится в той же папке, что и PerfInsights, если не указана выходная папка. Имя файла — PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz. Этот файл можно отправить агенту поддержки для анализа или открыть отчет внутри файла, чтобы просмотреть результаты и рекомендации.

Просмотр отчета о диагностике

В файле PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz можно найти HTML-отчет, который содержит сведения о результатах PerfInsights. Чтобы просмотреть отчет, разверните файл PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz и откройте файл PerfInsights Report.html.

Вкладка «Обзор»

Вкладка "Обзор" содержит основные сведения о выполнении и сведения о виртуальной машине. На вкладке " Результаты " отображается сводка рекомендаций из всех различных разделов отчета PerfInsights.

Снимок экрана: вкладка

Снимок экрана: вкладка

Примечание.

В категорию результатов высокого уровня попадают известные неполадки, которые могут вызвать проблемы с производительностью. В категорию среднего уровня попадают результаты, указывающие на неоптимальную конфигурацию, которая может не приводить к проблемам с производительностью. Результаты низкого уровня содержат сообщения, которые полезно принять к сведению.

Просмотрите рекомендации и ссылки на для всех результатов высокого и среднего уровня. Узнайте, как они могут повлиять на производительность, и ознакомьтесь с рекомендациями по оптимизации производительности конфигураций.

Вкладка ЦП

Вкладка ЦП содержит сведения о потреблении ЦП на уровне системы во время выполнения PerfInsights. Сведения о высоких периодах использования ЦП и наиболее длительных потребителей ЦП будут полезны для устранения проблем, связанных с ЦП.

Снимок экрана: вкладка

Вкладка GPU

Вкладка GPU содержит сведения о результатах, которые будут полезны при устранении неполадок, связанных с GPU.

Снимок экрана: вкладка perfInsights Report GPU.

Вкладка "Network" (Сеть)

Вкладка "Сеть " содержит сведения о конфигурации сети и состоянии. Сведения о результатах, связанных с сетью, включая проблемы InfiniBand в сценарии HPC, см. здесь.

Снимок экрана: вкладка

Вкладка хранилища

В разделе Результаты отображаются разные результаты и рекомендации, которые относятся к хранилищу.

Блоковые устройства и другие связанные разделы, такие как секции, LVM и MDADM , описывают настройку блочных устройств и связанные друг с другом.

Снимок экрана: вкладка хранилища.

Снимок экрана: вкладка MDADM.

Вкладка Linux

Вкладка Linux содержит сведения о оборудовании и операционной системе, работающей на виртуальной машине. Дополнительные сведения включают в себя список выполняемых процессов и сведений о гостевых агентах, PCI, ЦП, GPU, драйверах и драйверах LIS.

Снимок экрана: вкладка Linux и сведения.

Или на виртуальной машине с поддержкой GPU:

Снимок экрана: вкладка GPU на вкладке Linux и сведения.

Следующие шаги

Вы можете отправить журналы диагностики и отчетов в службу поддержки Майкрософт для дальнейшего анализа При работе с сотрудниками служба поддержки Майкрософт они могут запросить передачу выходных данных, созданных PerfInsights, чтобы помочь в процессе устранения неполадок.

На следующем снимке экрана отображается сообщение, которое вы можете получить:

Снимок экрана примера сообщения от службы поддержки Майкрософт

Следуйте инструкциям в сообщении, чтобы получить доступ к рабочему пространству передачи файлов. Для обеспечения дополнительной безопасности необходимо изменить пароль при первом использовании.

После входа в систему появится диалоговое окно для отправки PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz файла, собранного PerfInsights.

Свяжитесь с нами для получения помощи

Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.