===== Identificar consultas MySQL que consuman mucho recursos (CPU/Memoria/Load/IOWaits) ===== Para identificar qué consulta MySQL está consumiendo determinados recursos, ya sea memoria, CPU o IOWaits simplemente es necesario obtener el ID del hilo y buscar en MySQL información sobre él. Obtener información sobre hilos en base al consumo de recursos. # CPU/Memoria/Tiempo de ejecución/Uso de Swap top -H -p # IOWaits iotop --only # Lógicamente se pueden usar otros comandos como ps, pidstat, iostat, etc. Lo importante es localizar el ID del hilo que se consume los recursos. Una vez se obtiene el/los IDs del/os hilos, se consulta la tabla "threads" de la base de datos "performance_schema". De esta forma se obtiene información sobre la consulta que está generando ese consumo de recursos. mysql > select * from performance_schema.threads where THREAD_OS_ID = \G # Multiple threads IDs. mysql > select * from performance_schema.threads where THREAD_OS_ID IN (,,...)\G Ejemplo de información obtenida en la tabla . THREAD_ID: 164 NAME: thread/sql/one_connection TYPE: FOREGROUND PROCESSLIST_ID: 44 PROCESSLIST_USER: wwwadmin PROCESSLIST_HOST: 192.168.1.44 PROCESSLIST_DB: NULL PROCESSLIST_COMMAND: Query PROCESSLIST_TIME: 0 PROCESSLIST_STATE: Sending data PROCESSLIST_INFO: SELECT * FROM XXXX ... PARENT_THREAD_ID: NULL ROLE: NULL INSTRUMENTED: YES