Compartir a través de


Solución de problemas de rendimiento de máquinas virtuales Linux con diagnósticos de rendimiento (PerfInsights)

Se aplica a: ✔️ Máquinas virtuales Linux

Nota:

CentOS al que se hace referencia en este artículo es una distribución de Linux y llegará al final del ciclo de vida (EOL). Tenga en cuenta su uso y planifique en consecuencia. Para obtener más información, consulte Guía de fin de vida de CentOS.

PerfInsights Linux es una herramienta de diagnóstico de autoayuda que recopila y analiza los datos de diagnóstico, y proporciona un informe para ayudar a solucionar problemas de rendimiento de máquinas virtuales Linux en Azure. PerfInsights puede ejecutarse en máquinas virtuales compatibles como herramienta independiente o directamente desde el portal mediante Diagnósticos de rendimiento para máquinas virtuales Azure.

Si experimenta problemas de rendimiento con las máquinas virtuales, ejecute esta herramienta antes de ponerse en contacto con el servicio de soporte técnico.

Escenarios admitidos de solución de problemas

PerfInsights puede recopilar y analizar varios tipos de información. En las siguientes secciones se tratan escenarios comunes.

Análisis rápido del rendimiento

Este escenario recopila información básica como el almacenamiento y la configuración de hardware de su máquina virtual, varios registros, incluyendo:

  • Información sobre el sistema operativo

  • Información del dispositivo PCI

  • Registros generales del SO huésped

  • Archivos de configuración

  • Información de almacenamiento

  • Configuración de la máquina virtual Azure (recopilada utilizando Servicio de metadatos de instancias Azure.

  • Lista de procesos en ejecución, uso de disco, memoria y CPU

  • Información sobre redes

Se trata de un conjunto de información pasiva que no debería afectar al sistema.

Nota:

El escenario de análisis rápido del rendimiento se incluye automáticamente en cada uno de los escenarios siguientes:

Análisis de rendimiento

Este escenario es similar al análisis rápido de rendimiento, pero permite capturar información de diagnóstico durante más tiempo.

Análisis del rendimiento de HPC

Este escenario está pensado para solucionar problemas en VM de tamaño HPC, es decir, H-Series y N-Series. Comprueba la configuración de las VM con respecto a lo que el equipo de Azure HPC Platform ha probado y recomienda. También recopila registros y diagnósticos relacionados con el estado y la configuración del hardware especial que está disponible en esas máquinas virtuales, incluyendo:

  • Información sobre el controlador de la GPU

  • Diagnóstico del hardware de la GPU

  • Información y configuración del controlador InfiniBand

  • Diagnóstico de dispositivos InfiniBand

  • Archivos de configuración de red

  • Información sobre el ajuste del rendimiento

Nota:

Algunas herramientas utilizadas por el escenario de análisis de rendimiento HPC, como los comandos cli que se empaquetan con los controladores de dispositivos, no están presentes en todas las VM. En tales casos, se omitirán esas partes del análisis. La ejecución de este escenario no instala ningún software en las máquinas virtuales ni realiza ningún otro cambio permanente.

Nota:

La ejecución del escenario HPC directamente desde Azure Portal no es compatible en este momento, por lo que PerfInsights debe descargarse y ejecutarse desde la línea de comandos para utilizarlo.

¿Qué tipo de información recoge PerfInsights?

Se recopila información sobre la máquina virtual Linux, el sistema operativo, los dispositivos de bloque, los grandes consumidores de recursos, la configuración y varios registros. A continuación tiene más detalles:

  • Sistema operativo

    • Distribución y versión de Linux
    • Información sobre el núcleo
    • Información para el conductor
    • Registros de la extensión Azure HPC Driver VM*
    • Configuración de SELinux*
  • Hardware

    • Dispositivos PCI [*]
    • Salida de lscpu*
    • Volcado de la tabla BIOS de gestión del sistema*
  • Procesos y memoria

    • Lista de procesos (nombre de la tarea, memoria utilizada, archivos abiertos)
    • Memoria física total, disponible y libre
    • Memoria de intercambio total, disponible y libre
    • Captura de perfiles del uso de la CPU y de los procesos a intervalos de 5 segundos
    • Captura de perfiles del uso de memoria de los procesos en intervalos de 5 segundos
    • Límites de usuario para el acceso a la memoria*
    • Configuración NUMA*
  • GPU

    • Salida Nvidia SMI*
    • Diagnóstico Nvidia DCGM*
    • Volcado de depuración de Nvidia*
  • Redes

    • Lista de adaptadores de red con estadísticas de adaptadores
    • Tabla de encaminamiento de la red
    • Puertos abiertos y estado
    • Claves de partición InfiniBand*
    • Salida de ibstat*
  • Almacenamiento

    • Lista de dispositivos bloqueados
    • Lista de particiones
    • Lista de puntos de montaje
    • Información de volumen de MDADM
    • Información de volumen de LVM
    • Captura de perfiles en todos los discos a intervalos de 5 segundos
  • Registros

    • /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 o /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/[carpeta de extensión]/*log*
    • /var/opt/microsoft/omsconfig/omsconfig.log
    • /var/opt/microsoft/omsagent/log/omsagent.log
    • /etc/waagent.config
    • Salida de journalctl de los últimos cinco días
  • Metadatos de instancia de máquina virtual de Azure

* Sólo en el escenario HPC

Seguimiento del diagnóstico de rendimiento

Se ejecuta un motor basado en reglas en segundo plano para recopilar datos y diagnosticar problemas de rendimiento en curso. Las reglas se muestran en el informe de la pestaña Categoría -> Resultado.

Cada regla consta de lo siguiente:

  • Resultado: Descripción del resultado.
  • Recomendación: Recomendación de qué acción se podría llevar a cabo para el resultado. También hay vínculos de referencia a documentación que proporcionan más información sobre el resultado y/o la recomendación.
  • Nivel de impacto: Indica el potencial de que afecte al rendimiento.

Actualmente se admiten las categorías de reglas siguientes:

  • Uso elevado de recursos:

    • Uso elevado de la CPU: detecta periodos de uso elevado de la CPU y muestra los principales consumidores de la CPU durante dichos periodos.
    • Uso elevado de memoria: detecta periodos de uso de memoria elevados y muestra los principales consumidores de memoria durante dichos periodos.
    • Uso elevado del disco: detecta periodos de uso elevado de los discos físicos y muestra los principales consumidores de los discos durante dichos periodos.
  • Almacenamiento: Detecta configuraciones específicas de almacenamiento.

  • Memoria: Detecta configuraciones específicas de memoria.

  • GPU: Detecta configuraciones específicas de GPU.

  • Red: Detecta configuraciones específicas de red.

  • Sistema: detecta opciones de configuración específicas del sistema.

Nota:

[*] La información de PCI aún no se recoge en las distribuciones Debian y SLES.

[**] /var/log/sysstat o /var/log/sa contiene los archivos del Informe de actividad del sistema (SAR) que el paquete sysstat recopila. Si el paquete sysstat no está instalado en la VM, la herramienta PerfInsights ofrece una recomendación para instalarlo.

Ejecución de la herramienta PerfInsights Linux en la VM

¿Qué es necesario saber antes de ejecutar la herramienta?

Requisitos de la herramienta

  • Esta herramienta se debe ejecutar en la máquina virtual que tiene el problema de rendimiento.

  • Python 3.6 o una versión posterior, debe estar instalado en la VM.

    Nota:

    La Python Software Foundation (PSF) ya no admite Python 2. Si Python 2.7 está instalado en la máquina virtual, se puede instalar PerfInsights. Sin embargo, no se realizarán cambios ni se corregirán errores en PerfInsights para que sea compatible con Python 2.7. Para más información, consulte Sunsetting Python 2.

  • Actualmente se admiten las siguientes distribuciones:

    Nota:

    Microsoft solo ha probado las versiones que aparecen en la tabla. Si una versión no aparece en la tabla, Microsoft no la prueba explícitamente, pero es posible que la versión siga funcionando.

    Distribución Versión
    Servidor de 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

Nota:

[*] Consulte la sección Problemas conocidos

Nota:

[*] El escenario HPC se basa en la herramienta HPCDiag, así que compruebe su matriz de compatibilidad para conocer los tamaños de VM y SO admitidos. En particular, las máquinas virtuales de tamaño NDv4 aún no son compatibles y los informes para esas máquinas virtuales pueden mostrar resultados extraños.

Problemas conocidos

  • RHEL 8 no tiene Python instalado de forma predeterminada porque Python 2 y Python 3.6 están disponibles. Para instalar Python 3.6, ejecute el yum install python3 comando .

  • Puede producirse un error en la recopilación de información del agente invitado en CentOS 6.x.

  • La información de los dispositivos PCI no se recoge en las distribuciones basadas en Debian.

  • La información LVM se recoge parcialmente en algunas distribuciones.

¿Cómo se puede ejecutar PerfInsights?

Puede ejecutar PerfInsights en una máquina virtual al instalar Azure Performance Diagnostics desde Azure Portal. También puede ejecutarla como una herramienta independiente.

Nota:

PerfInsights se limita a recopilar y analizar los datos. No realiza ninguna modificación en el sistema.

Instalación y ejecución de PerfInsights desde Azure Portal

Para más información sobre de esta opción, consulte Azure Performance Diagnostics.

Ejecución de PerfInsights en modo independiente

Para ejecutar la herramienta PerfInsights, siga estos pasos:

  1. Descargue PerfInsights.tar.gz en una carpeta de su máquina virtual y extraiga el contenido utilizando los siguientes comandos desde el terminal.

    wget https://download.microsoft.com/download/9/F/8/9F80419C-D60D-45F1-8A98-718855F25722/PerfInsights.tar.gz
    
    tar xzvf PerfInsights.tar.gz
    
  2. Navegue hasta la carpeta que contiene el archivo perfinsights.py y, a continuación, ejecute perfinsights.py para ver los parámetros de línea de comandos disponibles.

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

    Captura de pantalla de la línea de comandos de PerfInsights Linux.

    La sintaxis básica para ejecutar los escenarios de PerfInsights es:

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

    Puede utilizar el siguiente ejemplo para ejecutar el escenario de análisis rápido de rendimiento durante 1 minuto y crear los resultados en la carpeta /tmp/output:

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

    Puede usar el ejemplo abajo para ejecutar el escenario de análisis del rendimiento durante 5 minutos y cargar el resultado (se guarda en un archivo TAR) en la cuenta de almacenamiento:

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

    Puede usar el ejemplo abajo para ejecutar el escenario de análisis del rendimiento HPC durante 1 minuto y cargar el archivo TAR de resultado en la cuenta de almacenamiento:

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

    Nota:

    Antes de ejecutar un escenario, PerfInsights pide al usuario que acepte compartir información de diagnóstico y que acepte los términos de licencia. Utilice la opción -a o --accept-disclaimer-and-share-diagnostics para omitir estos avisos.

    Si tiene una incidencia de soporte técnico activa con Microsoft y ejecuta PerfInsights a petición del ingeniero de soporte técnico con el que trabaja, asegúrese de proporcionar el número de la incidencia mediante la opción -s o --support-request.

Cuando finaliza la ejecución, aparece un nuevo archivo tar en la misma carpeta que PerfInsights, a menos que no se especifique ninguna carpeta de salida. Este archivo tiene el nombre PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz. y puede enviarlo al agente de soporte técnico para que lo analice, o abrir el informe dentro del archivo para consultar las conclusiones y recomendaciones.

Revisión del informe de diagnóstico

En el archivo PerformanceDiagnostics_aaaa-MM-dd_hh-mm-ss-fff.tar.gz encontrará un informe HTML en el que se detallan las conclusiones de PerfInsights. Para consultar el informe, expanda el archivo PerformanceDiagnostics_aaaa-MM-dd_hh-mm-ss-fff.tar.gz y luego abra el archivo PerfInsights Report.html.

‎Pestaña da Información general

La pestaña Información general proporciona detalles básicos sobre la ejecución e información sobre la máquina virtual. La pestaña Conclusiones muestra un resumen de las recomendaciones de todas las diferentes secciones del informe PerfInsights.

Captura de pantalla de la pestaña Información general del informe de PerfInsights.

Captura de pantalla de pestaña Resultados del informe de PerfInsights.

Nota:

Las conclusiones clasificadas como altas son problemas conocidos que pueden provocar problemas de rendimiento. Las conclusiones clasificadas como medias representan configuraciones no óptimas que no provocan necesariamente problemas de rendimiento. Las conclusiones clasificadas como bajas son solo declaraciones informativas.

Revise las recomendaciones y los vínculos de todas las conclusiones altas y medias. Aprenda cómo pueden afectar al rendimiento, así como los procedimientos recomendados para las configuraciones con optimización del rendimiento.

Pestaña CPU

La pestaña CPU proporciona información sobre el consumo de CPU de todo el sistema durante la ejecución de PerfInsights. La información sobre los periodos de uso elevado de la CPU y los principales consumidores de CPU de larga duración será útil para solucionar los problemas relacionados con el uso elevado de la CPU.

Captura de pantalla de la pestaña CPU del informe PerfInsights.

Pestaña GPU

La pestaña GPU proporciona información sobre los resultados que serán útiles para solucionar problemas relacionados con la GPU.

Captura de pantalla de la pestaña GPU del informe de PerfInsights.

Ficha Red

La pestaña Red proporciona información sobre la configuración y el estado de la red. La información sobre los resultados relacionados con la red, incluidos los problemas de InfiniBand en el escenario HPC, puede consultarse aquí.

Captura de pantalla de la pestaña Red.

Pestaña Almacenamiento

La sección Conclusiones muestra diversas conclusiones y recomendaciones relacionadas con el almacenamiento.

Las pestañas Dispositivos de bloque y otras secciones relacionadas como Particiones, LVM y MDADM describen cómo se configuran y relacionan entre sí los dispositivos de bloque.

Captura de pantalla de la pestaña Almacenamiento.

Captura de pantalla de la pestaña MDADM.

Ficha Linux

La pestaña Linux contiene información sobre el hardware y el sistema operativo que se ejecuta en su VM. Los detalles incluyen una lista de procesos en ejecución e información sobre el agente invitado, PCI, CPU, GPU, controladores y controladores LIS.

Captura de pantalla de la pestaña Linux y los detalles.

O en una máquina virtual con GPU:

Captura de pantalla de la pestaña GPU en la pestaña Linux y los detalles.

Pasos siguientes

Puede cargar los registros e informes de diagnóstico en el Soporte técnico de Microsoft para que examinen con mayor profundidad. Cuando trabaje con el personal de soporte de Microsoft, es posible que le pidan que transmita la salida generada por PerfInsights para ayudarle en el proceso de solución de problemas.

La siguiente captura de pantalla muestra un mensaje similar al que puede recibir:

Captura de pantalla de mensaje de ejemplo del Soporte técnico de Microsoft。

Siga las instrucciones del mensaje para acceder al área de trabajo de transferencia de archivos. Para mayor seguridad, tiene que cambiar la contraseña la primera vez que la use.

Después de iniciar sesión, encontrará un cuadro de diálogo para cargar el archivo PerformanceDiagnostics_yyyy-MM-dd_hh-mm-ss-fff.tar.gz recopilado por PerfInsights.

Ponte en contacto con nosotros para obtener ayuda

Si tiene preguntas o necesita ayuda, cree una solicitud de soporte o busque consejo en la comunidad de Azure. También puede enviar comentarios sobre el producto con los comentarios de la comunidad de Azure.