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
*
- Dispositivos PCI [
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
*
- Salida Nvidia SMI
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
*
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.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
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 por defecto. Para ejecutar PerfInsights Linux, primero debe instalar Python 3.6 o una versión posterior.
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:
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
Navegue hasta la carpeta que contiene el archivo
perfinsights.py
y, a continuación, ejecuteperfinsights.py
para ver los parámetros de línea de comandos disponibles.cd <the path of PerfInsights folder> sudo python perfinsights.py
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.
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.
Pestaña GPU
La pestaña GPU proporciona información sobre los resultados que serán útiles para solucionar problemas relacionados con la GPU.
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í.
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.
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.
O en una máquina virtual con GPU:
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:
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.