Monitor de Estado
El monitor de estado recopila estadísticas sobre el uso de CPU del sistema, el uso del disco, el uso de memoria y el proceso del servidor MySQL (mysqld
). Las estadísticas se registran en las tablas de historial, para las que el monitor de estado toma muestras una vez al minuto y conserva los datos de un día. También puede acceder a estas estadísticas en tablas que se rellenan con lecturas actuales bajo demanda al consultarlas.
Descripción general del monitor de estado
El monitor de estado muestra información de espacio en disco, información de memoria del sistema e información de memoria de proceso cada sesenta segundos y almacena datos de un día en tablas en el esquema de rendimiento de MySQL Server. Si el espacio en disco disponible o la memoria disponible están por debajo de determinados umbrales predefinidos, el monitor de estado emite advertencias y lo registra en la tabla performance_schema.error_log
.
El monitor de estado utiliza unidades de almacenamiento MiB/GiB/TiB donde 100 GB = 93 GiB.
El almacenamiento total disponible para un sistema de base de datos contiene lo siguiente:
- Almacenamiento disponible: el espacio en disco después de la reserva de almacenamiento se excluye del almacenamiento total.
- Reserva de almacenamiento: espacio en disco menor de las variables de configuración
disk_low_space_level
ydisk_low_space_percent
. El valor por defecto dedisk_low_space_level
es 5 000 MiB y el valor por defecto dedisk_low_space_percent
es el 4 % del almacenamiento total. - Almacenamiento crítico: espacio en disco en la reserva de almacenamiento por debajo del umbral crítico, definido por la variable de configuración
disk_low_space_critical_level
. Este es el espacio en disco mínimo viable para que el sistema evite el agotamiento del disco. El espacio de almacenamiento crítico por defecto es de 2.000 MiB.
Advertencias de espacio en disco
Cuando el espacio en disco está por debajo de un determinado porcentaje del almacenamiento disponible, el monitor de estado emite las siguientes advertencias y lo registra en la tabla performance_schema.error_log
:
WARNING_DISK_USAGE_LEVEL_1
: cuando el espacio en disco cae por debajo del 20 % del almacenamiento disponible.WARNING_DISK_USAGE_LEVEL_2
: cuando el espacio en disco cae por debajo del 10 % del almacenamiento disponible.WARNING_DISK_USAGE_LEVEL_3
: cuando el espacio en disco cae por debajo del 5 % del almacenamiento disponible.
Por ejemplo, si el almacenamiento total es 100 000 MiB y la reserva de almacenamiento es menor de las dos variables de configuración siguientes:
disk_low_space_level
: el valor por defecto es 5 000 MiB.disk_low_space_percent
: es el 4 % del almacenamiento total, es decir, el 4 % de 100 000 MiB = 4 000 MiB.
La reserva de almacenamiento es 4.000 MiB, que es menor de las dos variables de configuración.
Puede encontrar el almacenamiento disponible excluyendo la reserva de almacenamiento del almacenamiento total:
100,000 - 4,000 = 96,000 MiB
El monitor de estado emite las siguientes advertencias:
WARNING_DISK_USAGE_LEVEL_1
: cuando el espacio en disco cae por debajo del 20 % del almacenamiento disponible, que es 20/100*96.000 = 19.200 MiB.WARNING_DISK_USAGE_LEVEL_2
: cuando el espacio en disco cae por debajo del 10 % del almacenamiento disponible, que es 10/100*96.000 = 9.600 MiB.WARNING_DISK_USAGE_LEVEL_3
: cuando el espacio en disco cae por debajo del 5 % del almacenamiento disponible, que es 5/100*96.000 = 4.800 MiB.
Carencia significativa o sostenida de espacio en disco
El monitor de estado define una escasez significativa o sostenida de espacio en disco cuando se cumplen las siguientes condiciones:
- Escasez significativa: el espacio en disco cae por debajo del umbral crítico definido por
disk_low_space_critical_level
. - Escasez sostenida: el espacio en disco cae por debajo de la reserva de almacenamiento y, a continuación, permanece en la reserva de almacenamiento durante la duración definida por la variable de configuración
disk_low_space_duration
.
Cuando hay una escasez significativa o sostenida de espacio en disco, el monitor de estado realiza lo siguiente:
SUPER_READ_ONLY=ON
: define las variables del sistema,SUPER_READ_ONLY
, en ON en MySQL Server. MySQL Server rechaza todas las sentencias de escritura SQL entrantes nuevas (UPDATE
,INSERT
,DELETE
yDDL
), independientemente de los usuarios y privilegios. Se permite que se completen las transacciones en ejecución, pero se prohíben las nuevas escrituras hasta que el espacio en disco vuelva a estar disponible. No puede cargar datos en el cluster HeatWave cuando el servidor está en modoSUPER_READ_ONLY
.En algunos casos, los bloqueos de lectura globales, las confirmaciones en curso o los bloqueos de metadatos impiden que el monitor de estado defina la variable del sistema
SUPER_READ_ONLY
. En estos casos, si define la variablehealth_monitor.disk_fallback_force
, el monitor de estado identifica y termina las consultas activas que contienen bloqueos globales para definir la variable del sistemaSUPER_READ_ONLY
.OFFLINE_MODE=ON
: define la variable del sistema,OFFLINE_MODE
, en ON en MySQL Server. MySQL Server desconecta a los usuarios cliente que no tengan el privilegioCONNECTION_ADMIN
, termina las sentencias en ejecución y libera los bloqueos, además de bloquear nuevas conexiones con un error adecuado.super_read_only_disk_full=ON
: define la variable de estado,super_read_only_disk_full
, en ON, que indica que el modo de solo lectura se ha disparado debido a un espacio en disco bajo. Puede ver el valor de la variable de estadosuper_read_only_disk_full
con uno de los siguientes comandos:SHOW GLOBAL STATUS WHERE variable_name = 'super_read_only_disk_full';
SELECT * FROM performance_schema.global_status WHERE variable_name = 'super_read_only_disk_full';
Las variables del sistema cambian el comportamiento de MySQL Server, mientras que las variables de estado son indicadores estáticos del estado de MySQL Server.
Recuperación a Operación Normal
Una vez definidos SUPER_READ_ONLY
y OFFLINE_MODE
, Monitor de estado realiza lo siguiente:
- Compruebe el espacio en disco cada minuto .
- Defina
OFFLINE_MODE=OFF
si el espacio en disco disponible se recupera y permanece por encima dedisk_recovery_level
durantedisk_recovery_time_1
segundos o más. - Defina
SUPER_READ_ONLY=OFF
si el espacio en disco disponible se recupera y permanece por encima dedisk_recovery_level
durantedisk_recovery_time_2
segundos o más.
Las operaciones normales se reanudan una vez que el espacio en disco permanece por encima de disk_recovery_level
durante disk_recovery_time_1
+ disk_recovery_time_2
segundos.
Una vez que se recupera el espacio en disco, el monitor de estado borra las variables del sistema, SUPER_READ_ONLY
y OFFLINE_MODE
, y la variable de estado, super_read_only_disk_full
. No tiene que reiniciar la instancia MySQL para borrar las variables.
Si hay una escasez significativa o sostenida de espacio en disco de nuevo, el monitor de estado vuelve a definir las variables del sistema, SUPER_READ_ONLY
y OFFLINE_MODE
, y la variable de estado, super_read_only_disk_full
, en ON en MySQL Server.
Antes de devolver una instancia principal de un sistema de base de datos de alta disponibilidad al modo operativo normal, el monitor de estado verifica que el servidor esté en línea con la mayoría del grupo. El monitor de estado nunca define SUPER_READ_ONLY
o OFFLINE_MODE
en las instancias secundarias.
Incremento de Recuperación, Ciclo Máximo de Recuperación y Ventana de Recuperación
Cada vez que MySQL Server se recupera de una escasez significativa o sostenida de espacio en disco, el monitor de estado aumenta el tiempo de recuperación del disco en disk_recovery_increment
segundos.
Por ejemplo, si disk_recovery_time_1
= 300 segundos, y disk_recovery_time_2
= 600 segundos, y disk_recovery_increment
= 400 segundos, el tiempo de recuperación de disco para cada ciclo es el siguiente:
- Ciclo 1:
disk_recovery_time_1
= 300 segundos,disk_recovery_time_2
= 600 segundos - Ciclo 2:
disk_recovery_time_1
= (300 + 400) segundos,disk_recovery_time_2
= (600 + 400) segundos - Ciclo 3:
disk_recovery_time_1
= (300+400+400) segundos,disk_recovery_time_2
= (600+400+400) segundos
El monitor de estado restaura al modo operativo normal un máximo de disk_recovery_max_cycles
veces en una ventana fija de disk_recovery_window
segundos, desde el último ciclo de recuperación. Por ejemplo, si disk_recovery_max_cycles
se define en 5 y disk_recovery_window
en 86.400 segundos (1 día), el monitor de estado puede restaurar al modo de funcionamiento normal cinco veces en una ventana de 86.400 segundos. Si se produce una escasez significativa o sostenida la sexta vez en la misma ventana, las variables del sistema, SUPER_READ_ONLY
y OFFLINE_MODE
, se definen en ON.
El recuento de recuperación se restablece después de disk_recovery_window
segundos desde la última recuperación.
Advertencias de memoria
Cuando la memoria disponible está por debajo de determinados umbrales, el monitor de estado emite las siguientes advertencias:
WARNING_MEMORY_USAGE_LEVEL_1
: cuando la memoria disponible es inferior a 1024 MiB.WARNING_MEMORY_USAGE_LEVEL_2
: cuando la memoria disponible es inferior a 500 MiB.WARNING_MEMORY_USAGE_LEVEL_3
: cuando la memoria disponible es inferior a 100 MiB.
El monitor de estado registra la información relacionada con la versión MySQL, el uso de memoria global y varios valores de configuración en el log de errores. La información se registra como valores separados por comas para una fácil transferencia a una hoja de cálculo para un análisis más detallado.
Visualización de tablas del monitor de estado
Las tablas del monitor de estado almacenan datos y estadísticas de supervisión en el esquema de rendimiento de MySQL Server.
Las tablas de estado contienen información de almacenamiento en disco, información de memoria del sistema e información de memoria de proceso.
Las tablas de estadísticas contienen estadísticas sobre el uso de CPU del sistema, el uso de disco, el uso de memoria y el proceso de servidor MySQL (mysqld
). Cada tabla de estadísticas tiene dos versiones, una versión bajo demanda, que se rellena con las lecturas actuales al consultarla, y una versión de historial para la que el monitor de estado toma muestras una vez al minuto y conserva los datos de un día. Ambas versiones de la tabla tienen las mismas columnas.
Uso de un cliente de línea de comandos
Utilice un cliente de línea de comandos como MySQL Client o MySQL Shell para ver las tablas del monitor de estado.
- Un cliente de línea de comandos como el shell MySQL que está conectado al sistema de base de datos. Consulte Conexión a un sistema de base de datos.
+-------------------------+---------------------+-------------+-----------------+-------------+-------------+
| DEVICE | TIMESTAMP | TOTAL_BYTES | AVAILABLE_BYTES | USE_PERCENT | MOUNT_POINT |
+-------------------------+---------------------+-------------+-----------------+-------------+-------------+
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:12:08 | 53656686592 | 51364134912 | 4.27 | /db |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:13:08 | 53656686592 | 51364134912 | 4.27 | /db |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:14:08 | 53656686592 | 51364134912 | 4.27 | /db |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:15:08 | 53656686592 | 51364134912 | 4.27 | /db |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:16:08 | 53656686592 | 51364134912 | 4.27 | /db |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:17:08 | 53656686592 | 51364134912 | 4.27 | /db |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:18:08 | 53656686592 | 51364134912 | 4.27 | /db |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:19:08 | 53656686592 | 51364134912 | 4.27 | /db |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:20:08 | 53656686592 | 51364134912 | 4.27 | /db |
| /dev/mapper/vg_db-lv_db | 2021-08-08 16:21:08 | 53656686592 | 51364134912 | 4.27 | /db |
Tablas del Monitor de Estado
Consulte las tablas del monitor de estado para ver la información de almacenamiento en disco, la información de memoria del sistema y la información de memoria del proceso.
La lista completa de tablas del monitor de estado es la siguiente:
performance_schema.health_block_device
: información de estado de almacenamiento en disco.performance_schema.health_system_memory
: información de estado de memoria del sistema.performance_schema.health_process_memory
: información de estado de memoria de proceso.performance_schema.system_cpu_stats
: estadísticas de uso de CPU, rellenadas a petición.performance_schema.system_cpu_stats_history
: estadísticas de uso de CPU almacenadas.performance_schema.system_disk_stats
: estadísticas de uso de disco, rellenadas a petición.performance_schema.system_disk_stats_history
: estadísticas de uso de disco almacenado.performance_schema.system_memory_stats
: estadísticas de uso de memoria, rellenadas a petición.performance_schema.system_memory_stats_history
: estadísticas de uso de memoria almacenada.performance_schema.system_process_stats
: estadísticas de proceso y thread, rellenadas a petición.performance_schema.system_process_stats_history
: estadísticas de thread y proceso almacenadas.performance_schema.error_log
: advertencias y errores. Consulte Visualización del Log de Errores.
Tabla performance_schema.health_block_device
El monitor de estado utiliza la tabla performance_schema.health_block_device
en el esquema de rendimiento de MySQL Server para almacenar datos en el espacio en disco utilizado y disponible en un sistema de base de datos.
Tabla 17-1 Tabla de esquema de rendimiento health_block_device
Columna | Descripción |
---|---|
DEVICE |
Nombre del dispositivo del disco. |
TIMESTAMP |
Hora a la que se recopiló la muestra de datos de esta fila. |
TOTAL_BYTES |
Cantidad total de almacenamiento en el dispositivo, en bytes. |
AVAILABLE_BYTES |
La cantidad de almacenamiento disponible en el dispositivo, en bytes. |
USE_PERCENT |
Porcentaje de espacio en disco en uso. |
MOUNT_POINT |
El punto de montaje del dispositivo. |
Tabla performance_schema.health_system_memory
El monitor de estado utiliza la tabla performance_schema.health_system_memory
en el esquema de rendimiento de MySQL Server para almacenar datos sobre el uso de memoria por parte del sistema de base de datos
Tabla 17-2 Tabla de esquema de rendimiento health_system_memory
Columna | Descripción |
---|---|
TIMESTAMP |
Hora a la que se recopiló la muestra de datos de esta fila. |
TOTAL_MEMORY |
Cantidad total de memoria del sistema, en bytes. |
AVAILABLE |
Memoria disponible para iniciar nuevas aplicaciones sin intercambio, en bytes. |
USE_PERCENT |
Porcentaje de memoria en uso. |
MEMORY_FREE |
La cantidad de memoria no utilizada. |
MEMORY_FS_CACHE |
Caché de páginas del sistema de archivos. |
SWAP_TOTAL |
Cantidad total de memoria de intercambio. |
SWAP_FREE |
Cantidad total de memoria de intercambio libre. |
Tabla performance_schema.health_process_memory
El monitor de estado utiliza la tabla performance_schema.health_process_memory
en el esquema de rendimiento de MySQL Server para almacenar datos sobre el uso de memoria por parte del proceso de MySQL Server (mysqld) en el sistema de base de datos.
Tabla 17-3 Tabla de esquema de rendimiento health_process_memory
Columna | Descripción |
---|---|
TIMESTAMP |
Hora a la que se recopiló la muestra de datos de esta fila. |
PROCESS_NAME |
Nombre del proceso de MySQL Server. |
PID |
Identificador del sistema para el proceso de MySQL Server. |
VM_RSS |
Tamaño del juego residente del proceso del servidor MySQL, en bytes. |
VM_DATA |
Tamaño del segmento de datos de proceso de MySQL Server, en bytes |
VM_SWAP |
Tamaño del segmento de intercambio de procesos del servidor MySQL, en bytes |
PAGE_FAULTS |
Número de fallos de página que requieren E/O de disco. |
Tabla performance_schema.system_cpu_stats
El monitor de estado recopila estadísticas sobre el uso de CPU por parte del sistema de base de datos. Las estadísticas están disponibles en dos tablas en el esquema de rendimiento de MySQL Server, una tabla bajo demanda y una tabla de historial correspondiente. Ambas tablas tienen las mismas columnas.
La tabla performance_schema.system_cpu_stats
del esquema de rendimiento de MySQL Server se rellena con un ejemplo de datos al realizar la consulta. La tabla performance_schema.system_cpu_stats_history
almacena ejemplos de datos regularmente.
Las estadísticas de estas tablas se obtienen del archivo del sistema Linux /proc/stat
.
Tabla 17-4 Tablas de esquema de rendimiento system_cpu_stats y system_cpu_stats_history
Columna | Descripción |
---|---|
TIMESTAMP |
Hora a la que se recopiló la muestra de datos de esta fila. |
CPU |
La fila de CPU muestra los datos de uso de CPU agregados y cada fila numerada (por ejemplo, cpu0, cpu1) muestra los datos de un proceso individual. Todas las horas se muestran en milisegundos. |
USER_MS |
Tiempo empleado en modo usuario. |
NICE_MS |
Tiempo empleado en modo de usuario con prioridad baja. |
SYSTEM_MS |
Tiempo empleado en modo de sistema. |
IDLE_MS |
Tiempo empleado en la tarea inactiva. |
IOWAIT_MS |
Tiempo dedicado a esperar a que se complete la E/S. |
IRQ_MS |
El tiempo dedicado al mantenimiento de interrupciones de hardware. |
SOFTIRQ_MS |
El tiempo dedicado al mantenimiento del software se interrumpe. |
STEAL_MS |
Tiempo empleado en ejecutar otros sistemas operativos en un entorno virtualizado. |
GUEST_MS |
Tiempo empleado en ejecutar una CPU virtual con prioridad normal. |
GUEST_NICE_MS |
Tiempo empleado en ejecutar una CPU virtual con prioridad baja. |
Tabla performance_schema.system_disk_stats
El monitor de estado recopila estadísticas sobre el uso del disco por parte del sistema de base de datos. Las estadísticas están disponibles en dos tablas en el esquema de rendimiento de MySQL Server, una tabla bajo demanda y una tabla de historial correspondiente. Ambas tablas tienen las mismas columnas.
La tabla performance_schema.system_disk_stats
del esquema de rendimiento de MySQL Server se rellena con un ejemplo de datos al realizar la consulta. La tabla performance_schema.system_disk_stats_history
almacena ejemplos de datos regularmente.
Las estadísticas de estas tablas se obtienen del archivo del sistema Linux /proc/diskstats
.
Tabla 17-5 Tablas de esquema de rendimiento system_disk_stats y system_disk_stats_history
Columna | Descripción |
---|---|
TIMESTAMP |
Hora a la que se recopiló la muestra de datos de esta fila. |
DEVICE |
Nombre del dispositivo para este disco. |
READS |
Número de lecturas finalizadas correctamente. |
READ_BYTES |
Número de bytes leídos. |
READ_TIME_MS |
Tiempo dedicado a la lectura, en milisegundos. |
WRITES |
Número de escrituras finalizadas correctamente. |
WRITE_BYTES |
El número de bytes escritos. |
WRITE_TIME_MS |
Tiempo dedicado a la escritura, en milisegundos. |
FLUSHES |
Número de solicitudes de vaciado finalizadas correctamente. |
FLUSH_TIME_MS |
Tiempo dedicado al vaciado, en milisegundos. |
Tabla performance_schema.system_memory_stats
El monitor de estado recopila estadísticas sobre el uso de memoria por parte del sistema de base de datos. Las estadísticas están disponibles en dos tablas en el esquema de rendimiento de MySQL Server, una tabla bajo demanda y una tabla de historial correspondiente. Ambas tablas tienen las mismas columnas.
La tabla performance_schema.system_memory_stats
del esquema de rendimiento de MySQL Server se rellena con un ejemplo de datos al realizar la consulta. La tabla performance_schema.system_memory_stats_history
almacena ejemplos de datos regularmente.
Las estadísticas de estas tablas se obtienen del archivo del sistema Linux /proc/meminfo
.
Tabla 17-6 Tablas de esquema de rendimiento system_memory_stats y system_memory_stats_history
Columna | Descripción |
---|---|
TIMESTAMP |
Hora a la que se recopiló la muestra de datos de esta fila. |
TOTAL_BYTES |
Memoria total del sistema utilizable, en bytes. |
FREE_BYTES |
La memoria no utilizada. |
USED_BYTES |
Total de memoria utilizada. |
AVAILABLE_BYTES |
Memoria estimada disponible para iniciar nuevas aplicaciones, en bytes. |
BUFFER_BYTES |
Cantidad de memoria utilizada para el almacenamiento temporal de bloques de disco raw. |
CACHED_BYTES |
Cantidad de memoria utilizada para almacenar en caché los archivos leídos del disco (la caché de páginas). |
SLAB_BYTES |
Cantidad de memoria utilizada para almacenar en caché estructuras de datos en el núcleo. |
SWAP_TOTAL_BYTES |
Cantidad total de espacio de intercambio disponible en el disco. |
SWAP_FREE_BYTES |
Cantidad total de espacio de intercambio que no se está utilizando actualmente. |
SWAP_USED_BYTES |
Cantidad total de memoria que se ha intercambiado desde la RAM y que está temporalmente en el disco. |
SWAP_IN |
Cantidad de memoria intercambiada de nuevo en RAM desde el disco, en KB por segundo. |
SWAP_OUT |
Cantidad de memoria intercambiada en disco desde RAM, en KB por segundo. |
Tabla performance_schema.system_process_stats
El monitor de estado recopila estadísticas para cada thread utilizado por el proceso de MySQL Server en el sistema de base de datos. Las estadísticas están disponibles en dos tablas en el esquema de rendimiento de MySQL Server, una tabla bajo demanda y una tabla de historial correspondiente. Ambas tablas tienen las mismas columnas.
La tabla performance_schema.system_process_stats
del esquema de rendimiento de MySQL Server se rellena con un ejemplo de datos al realizar la consulta. La tabla performance_schema.system_process_stats_history
almacena ejemplos de datos regularmente.
Para las estadísticas de proceso, la tabla bajo demanda devuelve una fila por cada thread utilizado por el proceso mysqld
. Sin embargo, la tabla de historial almacena una sola fila para cada ejemplo, con los totales agregados para todos los threads utilizados por el proceso mysqld
.
Las estadísticas de estas tablas se obtienen del archivo del sistema Linux /proc/self/task/[pid]/stat
.
Tabla 17-7 Tablas de esquema de rendimiento system_process_stats y system_process_stats_history
Columna | Descripción |
---|---|
TIMESTAMP |
Hora a la que se recopiló la muestra de datos de esta fila. |
PID |
ID del proceso. |
PROCESS_NAME |
Nombre del proceso, que es mysqld .
|
TID |
ID de thread para el thread individual mostrado en esta fila. |
THREAD_NAME |
Nombre del thread instrumentado para el thread individual mostrado en esta fila. |
STATE |
Carácter que muestra el estado del thread en el momento del ejemplo: en ejecución (R ), durmiendo en una espera interrumpible (S ), esperando en un disco inactivo ininterrumpido (D ), thread zombie (Z ), parado en una señal o rastreo parado (T ), paginación (W ), muerto (X ), despertador (K ), despertador (W ) o parado (P ).
|
UTIME_MS |
Tiempo que este thread ha pasado en modo de usuario, en milisegundos. |
STIME_MS |
Tiempo que este subproceso pasó en modo de núcleo, en milisegundos. |
CUTIME_MS |
Tiempo que los procesos secundarios de este proceso pasaron en modo de usuario, en milisegundos. |
CSTIME_MS |
Tiempo que los procesos secundarios de este proceso pasaron en modo de núcleo, en milisegundos. |
NUM_THREADS |
El nunmber de hilos en este proceso. |
VSIZE_BYTES |
Tamaño de memoria virtual en bytes. |
RSS_BYTES |
Número de bytes que tiene el proceso en la memoria real (el tamaño del conjunto residente). |
RSSLIM_BYTES |
El límite en bytes en el tamaño del juego residente del proceso. |
PROCESSOR |
Número de CPU en el que se ejecutó el thread por última vez. |
DELAYACCT_BLKIO_MS |
Retrasos de E/S de bloque agregados, en milisegundos. |
GUEST_TIME_MS |
Tiempo de invitado para el proceso, en milisegundos. |
CGUEST_TIME_MS |
Tiempo de invitado para los procesos secundarios del proceso, en milisegundos. |
READ_BYTES |
Número de bytes que este proceso recuperó de la capa de almacenamiento. |
WRITE_BYTES |
Número de bytes que este proceso envió a la capa de almacenamiento. |
Visualización de variables del monitor de estado
Las variables del monitor de estado son valores de configuración para la actividad de supervisión en el sistema de base de datos. No puede cambiar los valores de estas variables.
Uso de un cliente de línea de comandos
Utilice un cliente de línea de comandos como el cliente MySQL o el shell MySQL para ver las variables del monitor de estado y sus valores.
- Un sistema de base de datos en ejecución.
- Un cliente de línea de comandos como MySQL Client o MySQL Shell que esté conectado al sistema de base de datos. Consulte Conexión a un sistema de base de datos.
+----------------------------------------------+-------+
| Variable_name | Value |
+----------------------------------------------+-------+
| health_monitor.disk_fallback_enable | ON |
| health_monitor.disk_fallback_force | OFF |
| health_monitor.disk_low_space_critical_level | 2000 |
| health_monitor.disk_low_space_duration | 300 |
| health_monitor.disk_low_space_level | 5000 |
| health_monitor.disk_low_space_percent | 4 |
| health_monitor.disk_monitored | /db |
| health_monitor.disk_recovery_enable | ON |
| health_monitor.disk_recovery_increment | 300 |
| health_monitor.disk_recovery_level | 5 |
| health_monitor.disk_recovery_max_cycles | 3 |
| health_monitor.disk_recovery_time_1 | 300 |
| health_monitor.disk_recovery_time_2 | 300 |
| health_monitor.disk_recovery_window | 86400 |
| health_monitor.disk_retention | 86400 |
| health_monitor.disk_running | ON |
| health_monitor.disk_sample_rate | 60 |
| health_monitor.disk_usage_warning_level_1 | 20 |
| health_monitor.disk_usage_warning_level_2 | 10 |
| health_monitor.disk_usage_warning_level_3 | 5 |
...
+----------------------------------------------+-------+
35 rows in set (0.01 sec)
Variables del monitor de estado
Todas las variables del sistema del monitor de estado tienen el prefijo health_monitor
. No puede modificar los valores de las variables de sus valores por defecto en un sistema de base de datos.
El prefijo
health_monitor.
se omite de la siguiente tabla. Por ejemplo, disk_fallback_enable
es realmente health_monitor.disk_fallback_enable
.
Tabla 17-8 Variables del sistema del monitor de estado
Variable del Sistema | Valor por Defecto | Descripción |
---|---|---|
disk_fallback_enable |
Activada | Si hay una escasez significativa o sostenida de espacio en disco, el monitor de estado define la variable del sistema, SUPER_READ_ONLY y OFFLINE_MODE en ON en MySQL Server.
|
disk_fallback_force |
Desactivar | Termine las consultas en primer plano que contienen bloqueos de metadatos globales y vuelva a intentar definir SUPER_READ_ONLY .
|
disk_low_space_critical_level |
2.000 | Umbral de espacio en disco bajo crítico en MiB. Si el espacio en disco disponible cae por debajo de este valor durante cualquier duración, el monitor de estado define los modos SUPER_READ_ONLY y OFFLINE_MODE en MySQL Server.
|
disk_low_space_duration |
300 | Duración (en segundos) durante la cual el espacio en disco disponible puede permanecer por debajo de disk_low_space_level o disk_low_space_percent (lo que sea inferior) antes de que el monitor de estado defina los modos SUPER_READ_ONLY y OFFLINE_MODE en MySQL Server.
|
disk_low_space_level |
5.000 | Umbral de espacio bajo para la reserva de almacenamiento, en MiB. Si el espacio en disco disponible desciende por debajo de este porcentaje del almacenamiento total disponible durante más tiempo que el valor de disk_low_space_duration , el monitor de estado define los modos SUPER_READ_ONLY y OFFLINE_MODE en MySQL Server.
|
disk_low_space_percent |
4 | Umbral de espacio bajo para la reserva de almacenamiento, expresado como porcentaje. Si el espacio en disco disponible desciende por debajo de este porcentaje del almacenamiento total disponible durante más tiempo que el valor de disk_low_space_duration , el monitor de estado define los modos SUPER_READ_ONLY y OFFLINE_MODE en MySQL Server.
|
disk_monitored |
/db | Punto de montaje para estadísticas de disco. |
disk_retention |
86.400 |
Cuántos segundos se retiene cada ejemplo de datos en las tablas de historial para los datos de uso de disco. El valor mínimo es 1 segundo, el valor por defecto es 86400 segundos (1 día) y el valor máximo es 864000 segundos (10 días). Si |
disk_recovery_enable |
Activada | Defina la variable en ON para activar la recuperación de una escasez sostenida o significativa y en OFF para desactivar la recuperación de una escasez sostenida o significativa. |
disk_recovery_level |
5% | Porcentaje del espacio total en disco por encima de la reserva de almacenamiento.
|
disk_recovery_time_1 |
300 segundos | Cantidad de tiempo (en segundos) que el almacenamiento disponible debe permanecer por encima de disk_recovery_level antes de que el monitor de estado defina OFFLINE_MODE = OFF .
|
disk_recovery_time_2 |
300 segundos | Tiempo adicional (en segundos) que el almacenamiento disponible debe permanecer por encima de disk_recovery_level después de disk_recovery_time_1 antes de que el monitor de estado defina SUPER_READ_ONLY = OFF .
|
disk_recovery_max_cycles |
3 ciclos | Número máximo de veces que el servidor MySQL se puede volver a colocar en modo de funcionamiento normal dentro del marco temporal disk_recovery_cycle_window .
|
disk_recovery_window |
866400 segundos | Cantidad de tiempo (en segundos) después del último ciclo de recuperación correcto después del cual se restablece el recuento de recuperación. Un valor de 0 significa que el recuento de recuperación nunca se restablece. |
disk_recovery_increment |
300 segundos | Tiempo (en segundos) para aumentar los temporizadores de recuperación disk_recovery_time_1 y disk_recovery_time_2 para cada ciclo de recuperación.
|
disk_running |
Activada | Estado activo del monitor de disco del monitor de estado. |
disk_sample_rate |
60 | Frecuencia de la recopilación de datos de disco, en segundos. Por defecto, los datos se recopilan cada 60 segundos. La tasa mínima de muestreo es 1 (cada segundo) y la máxima es 86400 (una vez al día). |
disk_usage_warning_level_1 |
20 | Porcentaje de espacio en disco disponible por encima del valor definido en disk_low_space_level . Si el espacio en disco disponible está por debajo de este nivel, se genera la advertencia WARNING_DISK_USAGE_LEVEL_1 .
|
disk_usage_warning_level_2 |
10 | Porcentaje de espacio en disco disponible, por encima del valor definido en disk_low_space_level . Si el espacio en disco disponible está por debajo de este nivel, se genera la advertencia WARNING_DISK_USAGE_LEVEL_2 .
|
disk_usage_warning_level_3 |
5 | Porcentaje de espacio en disco disponible, por encima del valor definido en disk_low_space_level . Si el espacio en disco disponible está por debajo de este nivel, se genera la advertencia WARNING_DISK_USAGE_LEVEL_3 .
|
memory_reporting |
Activada | Permite la generación de informes de datos de memoria. |
memory_retention |
86.400 |
Cuántos segundos se retiene cada ejemplo de datos en las tablas de historial para los datos de uso de memoria. El valor mínimo es 1 segundo, el valor por defecto es 86400 segundos (1 día) y el valor máximo es 864000 segundos (10 días). |
memory_running |
Activada | Estado activo del monitor de memoria del monitor de estado. |
memory_sample_rate |
60 | Frecuencia de la recopilación de datos de memoria, en segundos. Por defecto, los datos se recopilan cada 60 segundos. La tasa mínima de muestreo es 1 (cada segundo) y la máxima es 86400 (una vez al día). |
memory_usage_warning_level_1 |
1.024 | Cantidad de memoria disponible (MiB). Si la memoria disponible está por debajo de este nivel, se genera la advertencia WARNING_MEMORY_USAGE_LEVEL_1 .
|
memory_usage_warning_level_2 |
500 | Cantidad de memoria disponible (MiB). Si la memoria disponible está por debajo de este nivel, se genera la advertencia WARNING_MEMORY_USAGE_LEVEL_2 .
|
memory_usage_warning_level_3 |
100 | Cantidad de memoria disponible (MiB). Si la memoria disponible está por debajo de este nivel, se genera la advertencia WARNING_MEMORY_USAGE_LEVEL_3 .
|
status_interval |
10 | La frecuencia (en múltiples de disk_sample_rate ) de envío de los mensajes de estado a la tabla del log de errores. Por ejemplo, si status_interval = 10 y disk_sample_rate = 60 segundos, el monitor de estado envía un mensaje de estado a la tabla de log de errores cada 600 segundos.
|
system_cpu_stats_history |
Activada | Si las estadísticas de uso de CPU del sistema se recopilan y almacenan en la tabla de esquema de rendimiento system_cpu_stats_history . Si estas estadísticas no se almacenan, aún puede acceder a una instantánea bajo demanda consultando la tabla system_cpu_stats .
|
system_disk_stats_history |
Activada | Si las estadísticas de uso del disco del sistema se recopilan y almacenan en la tabla de esquema de rendimiento system_memory_stats_history . Si estas estadísticas no se almacenan, aún puede acceder a una instantánea bajo demanda consultando la tabla system_memory_stats .
|
system_memory_stats_history |
Activada | Si las estadísticas de uso de memoria del sistema se recopilan y almacenan en la tabla de esquema de rendimiento system_disk_stats_history . Si estas estadísticas no se almacenan, aún puede acceder a una instantánea bajo demanda consultando la tabla system_disk_stats .
|
system_process_stats_history |
Activada | Si las estadísticas del proceso de servidor MySQL (mysqld ) se recopilan y almacenan en la tabla de esquema de rendimiento system_process_stats_history . Si estas estadísticas no se almacenan, aún puede acceder a una instantánea bajo demanda consultando la tabla system_process_stats .
|
system_retention |
86.400 |
Cuántos segundos se retiene cada ejemplo de datos en las tablas de historial para las estadísticas del sistema y del proceso. El valor mínimo es 1 segundo, el valor por defecto es 86400 segundos (1 día) y el valor máximo es 864000 segundos (10 días). |
system_running |
Activada | Si el monitor de estado recopila estadísticas del sistema. Cuando se define en ON , están disponibles las tablas de estadísticas para el uso de CPU del sistema, el uso de disco, el uso de memoria y el proceso de servidor MySQL (mysqld ), y las tablas de historial correspondientes se rellenan si sus variables del sistema se definen en ON .
|
system_sample_rate |
60 | Frecuencia de la recopilación de estadísticas del sistema, en segundos. Por defecto, los datos se recopilan cada 60 segundos. La tasa mínima de muestreo es 1 (cada segundo) y la máxima es 86400 (una vez al día). |
Mensajes del monitor de estado
Los errores, las advertencias y las actualizaciones de estado del monitor de estado se registran en performance_schema.error_log
. El monitor de estado abrevia TiB como T, GiB como G y MiB como M en el log de errores. Por ejemplo, 306.6G = 306,6 GiB = 329,2 GB.
Tabla 17-9 Mensajes del monitor de estado
Tipo de Mensaje | Descripción |
---|---|
Actualización de estado | Monitor de estado emite una actualización del estado rutinario según el número de segundos definido por sample_rate * status_interval . Por ejemplo:
|
Advertencia de umbral | Si la cantidad de espacio disponible está por debajo de uno de los umbrales definidos por disk_usage_warning_level_* , el monitor de estado emite una advertencia. En el siguiente ejemplo se muestra la advertencia para disk_usage_warning_level_2 , definida como el 4 % del espacio total por encima del límite de poco espacio:
|
Advertencia disk_low_space_duration
|
Si el espacio en disco disponible cae por debajo del límite de espacio bajo de 18 GiB, el monitor de estado inicia el temporizador de reserva y emite una advertencia. Por ejemplo:
|
Advertencia del modo OFFLINE/SUPER_READ_ONLY
|
Si el espacio en disco disponible permanece por debajo del límite de espacio bajo durante más de disk_low_space_duration segundos, el monitor de estado coloca al servidor en SUPER_READ_ONLY y OFFLINE_MODE . Por ejemplo: Consulte Resolving SUPER_READ_ONLY and OFFLINE_MODE Issue Caused by Low Free Storage Space.
|
Advertencia crítica | Si el espacio en disco disponible cae por debajo de disk_low_space_critical_level durante cualquier período de tiempo, el monitor de estado coloca el servidor en modo SUPER_READ_ONLY . Por ejemplo:
|
Advertencia de temporizador cancelado | Si el espacio disponible aumenta por encima del límite de poco espacio antes de que transcurran disk_low_space_duration segundos, se cancelará el temporizador del modo de reserva y el monitor de estado emitirá un mensaje de estado o un mensaje de advertencia si el espacio disponible aún está dentro de un rango de advertencia. Por ejemplo:[Warning] [MY-013695] [Health] Disk: Low Level (18M): Fallback Timer Canceled [Warning] [MY-013695] [Health] Disk: Warning Level 1 (107M): monitored='/db', available=79M, total=466M, used=82.9%, low limit=18M, critical=10M, recovery=40M, warnings=107M/62M/40M |
Advertencia de memoria | Si la memoria disponible está por debajo de uno de los umbrales definidos por memory_usage_warning_level_* , el monitor de estado emite una advertencia que incluye los detalles de diagnóstico de memoria en valores separados por comas (csv). Los datos csv del siguiente ejemplo se han eliminado debido a la restricción de espacio. [Warning] [MY-013695] [Health] MEMORY: WARNING LEVEL 1 (1.0G): available=950M, total=7.5G, used=87.6%, mysqld=5.9G, warnings=1.0G/500M/100M [Warning] [MY-013695] [Health] [Warning] [MY-013695] [Health] ===== MEMORY DIAGNOSTICS BEGIN (csv) ===== --------------------------------------- TOTAL ALLOCATED MEMORY AND BUFFER SIZES --------------------------------------- keyword,value mysql_version,8.0.33 total_allocated,15121493496 innodb_buffer_pool_size,13958643712 join_buffer_size,262144 ---------------------------------------- MEMORY AGGREGATION PER LOGICAL COMPONENT ---------------------------------------- component,current_count,current_alloc,max_alloc,min_alloc ...<csv data>... ----------------------- MEMORY USAGE PER THREAD ----------------------- thread_id,user,current_count_used,current_allocated,current_avg_alloc,current_max_alloc,total_allocated ...<csv data>... ----------------------- MEMORY USAGE PER USER ----------------------- user,current_count_used,current_allocated,current_avg_alloc,current_max_alloc,total_allocated ...<csv data>... ------------------- PROCESSLIST DETAILS ------------------- thd_id,conn_id,user,db,command,state,time,current_statement,execution_engine,statement_latency,progress, lock_latency,cpu_latency,rows_examined,rows_sent,rows_affected,tmp_tables,tmp_disk_tables,full_scan, last_statement,last_statement_latency,current_memory,last_wait,last_wait_latency,source,trx_latency, trx_state,trx_autocommit,pid,program_name ...<csv data>... --------------- SESSION DETAILS --------------- thd_id,conn_id,user,db,command,state,time,current_statement,execution_engine,statement_latency,progress, lock_latency,cpu_latency,rows_examined,rows_sent,rows_affected,tmp_tables,tmp_disk_tables,full_scan, last_statement,last_statement_latency,current_memory,last_wait,last_wait_latency,source,trx_latency, trx_state,trx_autocommit,pid,program_name ...<csv data>... -------------------------------------------------------- CURRENT STATEMENT PER THREAD ORDERED BY STATEMENT MEMORY -------------------------------------------------------- THREAD_ID,EVENT_ID,END_EVENT_ID,EVENT_NAME,SOURCE,TIMER_START,TIMER_END,TIMER_WAIT,LOCK_TIME,SQL_TEXT, DIGEST,DIGEST_TEXT,CURRENT_SCHEMA,OBJECT_TYPE,OBJECT_SCHEMA,OBJECT_NAME,OBJECT_INSTANCE_BEGIN,MYSQL_ERRNO, RETURNED_SQLSTATE,MESSAGE_TEXT,ERRORS,WARNINGS,ROWS_AFFECTED,ROWS_SENT,ROWS_EXAMINED,CREATED_TMP_DISK_TABLES, CREATED_TMP_TABLES,SELECT_FULL_JOIN,SELECT_FULL_RANGE_JOIN,SELECT_RANGE,SELECT_RANGE_CHECK,SELECT_SCAN, SORT_MERGE_PASSES,SORT_RANGE,SORT_ROWS,SORT_SCAN,NO_INDEX_USED,NO_GOOD_INDEX_USED,NESTING_EVENT_ID, NESTING_EVENT_TYPE,NESTING_EVENT_LEVEL,STATEMENT_ID,CPU_TIME,MAX_CONTROLLED_MEMORY,MAX_TOTAL_MEMORY, EXECUTION_ENGINE ...<csv data>... ---------------------------------------------------------- CURRENT STATEMENT PER THREAD FOR THREADS USING MOST MEMORY ---------------------------------------------------------- THREAD_ID,EVENT_ID,END_EVENT_ID,EVENT_NAME,SOURCE,TIMER_START,TIMER_END,TIMER_WAIT,LOCK_TIME,SQL_TEXT, DIGEST,DIGEST_TEXT,CURRENT_SCHEMA,OBJECT_TYPE,OBJECT_SCHEMA,OBJECT_NAME,OBJECT_INSTANCE_BEGIN,MYSQL_ERRNO, RETURNED_SQLSTATE,MESSAGE_TEXT,ERRORS,WARNINGS,ROWS_AFFECTED,ROWS_SENT,ROWS_EXAMINED,CREATED_TMP_DISK_TABLES, CREATED_TMP_TABLES,SELECT_FULL_JOIN,SELECT_FULL_RANGE_JOIN,SELECT_RANGE,SELECT_RANGE_CHECK,SELECT_SCAN, SORT_MERGE_PASSES,SORT_RANGE,SORT_ROWS,SORT_SCAN,NO_INDEX_USED,NO_GOOD_INDEX_USED,NESTING_EVENT_ID, NESTING_EVENT_TYPE,NESTING_EVENT_LEVEL,STATEMENT_ID,CPU_TIME,MAX_CONTROLLED_MEMORY,MAX_TOTAL_MEMORY, EXECUTION_ENGINE,thread_id ...<csv data>... ---------------------------------------------------------- STATEMENT HISTORY PER THREAD FOR THREADS USING MOST MEMORY ---------------------------------------------------------- THREAD_ID,EVENT_ID,END_EVENT_ID,EVENT_NAME,SOURCE,TIMER_START,TIMER_END,TIMER_WAIT,LOCK_TIME,SQL_TEXT, DIGEST,DIGEST_TEXT,CURRENT_SCHEMA,OBJECT_TYPE,OBJECT_SCHEMA,OBJECT_NAME,OBJECT_INSTANCE_BEGIN,MYSQL_ERRNO, RETURNED_SQLSTATE,MESSAGE_TEXT,ERRORS,WARNINGS,ROWS_AFFECTED,ROWS_SENT,ROWS_EXAMINED,CREATED_TMP_DISK_TABLES, CREATED_TMP_TABLES,SELECT_FULL_JOIN,SELECT_FULL_RANGE_JOIN,SELECT_RANGE,SELECT_RANGE_CHECK,SELECT_SCAN, SORT_MERGE_PASSES,SORT_RANGE,SORT_ROWS,SORT_SCAN,NO_INDEX_USED,NO_GOOD_INDEX_USED,NESTING_EVENT_ID, NESTING_EVENT_TYPE,NESTING_EVENT_LEVEL,STATEMENT_ID,CPU_TIME,MAX_CONTROLLED_MEMORY,MAX_TOTAL_MEMORY, EXECUTION_ENGINE,thread_id ...<csv data>... ----------------------------- EVENTS ALLOCATING MOST MEMORY ----------------------------- processlist_id,processlist_user,thread_id,event_name,count_alloc,count_free,current_count_used, current_number_of_bytes_used ...<csv data>... ---------------------- BUFFER POOL STATISTICS ---------------------- POOL_ID,POOL_SIZE,FREE_BUFFERS,DATABASE_PAGES,OLD_DATABASE_PAGES,MODIFIED_DATABASE_PAGES,PENDING_DECOMPRESS, PENDING_READS,PENDING_FLUSH_LRU,PENDING_FLUSH_LIST,PAGES_MADE_YOUNG,PAGES_NOT_MADE_YOUNG,PAGES_MADE_YOUNG_RATE, PAGES_MADE_NOT_YOUNG_RATE,NUMBER_PAGES_READ,NUMBER_PAGES_CREATED,NUMBER_PAGES_WRITTEN,PAGES_READ_RATE, PAGES_CREATE_RATE,PAGES_WRITTEN_RATE,NUMBER_PAGES_GET,HIT_RATE,YOUNG_MAKE_PER_THOUSAND_GETS, NOT_YOUNG_MAKE_PER_THOUSAND_GETS,NUMBER_PAGES_READ_AHEAD,NUMBER_READ_AHEAD_EVICTED,READ_AHEAD_RATE, READ_AHEAD_EVICTED_RATE,LRU_IO_TOTAL,LRU_IO_CURRENT,UNCOMPRESS_TOTAL,UNCOMPRESS_CURRENT ...<csv data>... |
Temas relacionados