Устранение неполадок с производительностью виртуальных машин 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 управления системой
*
- Устройства PCI [
Процессы и память
- Список процессов (имя задачи, использованная память, открытые файлы)
- Общая, доступная и бесплатная физическая память
- Общее, доступное и свободное буфер памяти
- Запись профилирования ЦП и обрабатывает использование ЦП в 5 секундах
- Запись профилирования операций использования памяти в 5-секундном интервале
- Ограничения пользователей для доступа к памяти
*
- Конфигурация NUMA
*
GPU
- Выходные данные Nvidia SMI
*
- Диагностика NVIDIA DCGM
*
- Отладочный дампы Nvidia
*
- Выходные данные Nvidia SMI
Сеть
- Список сетевых адаптеров со статистикой адаптеров
- Таблица маршрутизации сети
- Открытые порты и состояние
- Ключи секции 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
- Выходные данные журнала за последние пять дней
*
Только в сценарии 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.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
Примечание.
[*
] Обратитесь к Раздел известных проблем
Примечание.
[*
] Сценарий 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, сделайте следующее.
Скачайте 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
Перейдите к папке, содержащей
perfinsights.py
файл, и запуститеperfinsights.py
, чтобы просмотреть доступные параметры командной строки.cd <the path of PerfInsights folder> sudo python perfinsights.py
Ниже приведен пример базового синтаксиса для запуска сценариев 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.
Вкладка "Network" (Сеть)
Вкладка "Сеть " содержит сведения о конфигурации сети и состоянии. Сведения о результатах, связанных с сетью, включая проблемы InfiniBand в сценарии HPC, см. здесь.
Вкладка хранилища
В разделе Результаты отображаются разные результаты и рекомендации, которые относятся к хранилищу.
Блоковые устройства и другие связанные разделы, такие как секции, LVM и MDADM , описывают настройку блочных устройств и связанные друг с другом.
Вкладка Linux
Вкладка Linux содержит сведения о оборудовании и операционной системе, работающей на виртуальной машине. Дополнительные сведения включают в себя список выполняемых процессов и сведений о гостевых агентах, PCI, ЦП, GPU, драйверах и драйверах LIS.
Или на виртуальной машине с поддержкой GPU:
Следующие шаги
Вы можете отправить журналы диагностики и отчетов в службу поддержки Майкрософт для дальнейшего анализа При работе с сотрудниками служба поддержки Майкрософт они могут запросить передачу выходных данных, созданных PerfInsights, чтобы помочь в процессе устранения неполадок.
На следующем снимке экрана отображается сообщение, которое вы можете получить:
Следуйте инструкциям в сообщении, чтобы получить доступ к рабочему пространству передачи файлов. Для обеспечения дополнительной безопасности необходимо изменить пароль при первом использовании.
После входа в систему появится диалоговое окно для отправки PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz файла, собранного PerfInsights.
Свяжитесь с нами для получения помощи
Если у вас есть вопросы или вам нужна помощь, создайте запрос в службу поддержки или обратитесь за поддержкой сообщества Azure. Вы также можете отправить отзыв о продукте в сообщество отзывов Azure.