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


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

Примечание.

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

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

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

Примечание.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примечание.

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

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

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

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

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

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

  • Диагностика оборудования GPU

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

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

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

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

Примечание.

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

Примечание.

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

Какие сведения собираются PerfInsights

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

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

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

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

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

    • Выходные данные 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 в PerfInsights не будут вноситься никакие изменения или исправления ошибок. Дополнительные сведения см. в разделе Sunsetting Python 2.

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

    Примечание.

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

    Распределение Версия
    Сервер Oracle Linux 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 , поэтому проверьте матрицу поддержки поддерживаемых размеров виртуальных машин и ос. В частности, виртуальные машины размера NDv4 пока не поддерживаются, и в отчетах для этих виртуальных машин могут отображаться лишние результаты.

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

  • В RHEL 8 по умолчанию не установлен Python. Чтобы запустить PerfInsights Linux, необходимо сначала установить Python 3.6 или более позднюю версию.

  • Сбор сведений о гостевом агенте может завершиться сбоем в 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-disclaimer-and-share-diagnostics , чтобы пропустить эти запросы.

    Если у вас есть активный запрос в службу поддержки Майкрософт и 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 , а затем откройте файл Report.htmlPerfInsights .

Вкладка "Обзор"

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

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

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

Примечание.

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

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

Вкладка ЦП

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

Снимок экрана: вкладка ЦП отчета PerfInsights.

Вкладка GPU

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

Снимок экрана: вкладка GPU отчета PerfInsights.

Вкладка "Сеть"

Вкладка "Сеть " содержит сведения о конфигурации и состоянии сети. Сведения о связанных с сетью результатах, включая проблемы 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.