10.14.1 Доступ к списку процессов
В данном обсуждении перечислены источники информации о процессах, права, необходимые для просмотра информации о процессах, а также описано содержимое записей списка процессов.
Источники информации о процессах
Информация о процессах доступна из следующих источников:
Команда
SHOW PROCESSLIST: Раздел 15.7.7.31, «Запрос SHOW PROCESSLIST»Команда mysqladmin processlist: Раздел 6.5.2, «mysqladmin — Программа администрирования сервера MySQL»
Таблица
INFORMATION_SCHEMAPROCESSLIST: Раздел 28.3.24, «Таблица INFORMATION_SCHEMA PROCESSLIST»Таблица Performance Schema
processlist: Раздел 29.12.22.8, «Таблица processlist»Столбцы таблицы Performance Schema
threadsс префиксомPROCESSLIST_: Раздел 29.12.22.9, «Таблица threads»Представления схемы
sysprocesslistиsession: Раздел 30.4.3.22, «Представления processlist и x$processlist», и Раздел 30.4.3.33, «Представления session и x$session»
Таблица threads сравнивается с SHOW PROCESSLIST, INFORMATION_SCHEMA PROCESSLIST и mysqladmin processlist следующим образом:
-
Доступ к таблице
threadsне требует взаимного исключения и минимально влияет на производительность сервера. Другие источники имеют отрицательное влияние на производительность, поскольку требуют взаимного исключения.ПримечаниеСуществует альтернативная реализация для
SHOW PROCESSLISTна основе таблицы Performance Schemaprocesslist, которая, как и таблицаthreads, не требует взаимного исключения и обладает лучшими характеристиками производительности. Подробности см. в разделе 29.12.22.8, «Таблица processlist». Таблица
threadsотображает фоновые потоки, которых нет в других источниках. Она также предоставляет дополнительную информацию для каждого потока, отсутствующую в других источниках, например, является ли поток фоновым или фоновым и расположение в сервере, связанное с потоком. Это означает, что таблицаthreadsможет использоваться для мониторинга активности потока, недоступной в других источниках.Вы можете включить или выключить мониторинг потоков Performance Schema, как описано в разделе 29.12.22.9, «Таблица threads».
По этим причинам администраторы баз данных, выполняющие мониторинг сервера с помощью одного из других источников информации о потоках, могут вместо этого использовать таблицу threads.
Представление схемы sys processlist отображает информацию из таблицы Performance Schema threads в более удобном формате. Представление схемы sys session отображает информацию о пользовательских сеансах, как и представление sys схемы processlist, но с отфильтрованными фоновыми процессами.
Права, необходимые для доступа к списку процессов
Для большинства источников информации о процессах, если у вас есть право PROCESS, вы можете видеть все потоки, даже принадлежащие другим пользователям. В противном случае (без права PROCESS), неанонимные пользователи имеют доступ к информации о своих потоках, но не о потоках других пользователей, а анонимные пользователи не имеют доступа к информации о потоках.
Таблица Performance Schema threads также предоставляет информацию о потоках, но доступ к таблице использует другую модель прав. См. раздел 29.12.22.9, «Таблица threads».
Содержимое записей списка процессов
Каждая запись списка процессов содержит несколько фрагментов информации. Следующий список описывает их, используя метки из вывода SHOW PROCESSLIST. Другие источники информации о процессах используют аналогичные метки.
Id— идентификатор подключения клиента, связанного с потоком.UserиHostуказывают учетную запись, связанную с потоком.db— базовая база данных для потока, илиNULL, если база данных не выбрана.-
CommandиStateпоказывают, что делает поток.Большинство состояний соответствуют очень быстрым операциям. Если поток находится в определенном состоянии в течение многих секунд, возможно, есть проблема, которую нужно расследовать.
В следующих разделах перечислены возможные значения
Commandи значенияState, сгруппированные по категориям. Значение некоторых из этих значений очевидно. Для других предоставлено дополнительное описание.ПримечаниеПриложения, которые проверяют информацию о списке процессов, должны быть осведомлены о том, что команды и состояния могут быть изменены.
Timeуказывает, сколько времени поток находится в текущем состоянии. В некоторых случаях представление времени потока может быть изменено: поток может изменить время с помощьюSET TIMESTAMP =. Для потока SQL реплики значение равно числу секунд между меткой времени последнего реплицированного события и реальным временем хоста реплики. См. раздел 19.2.3, «Потоки репликации».valueInfoуказывает запрос, который выполняет поток, илиNULL, если он не выполняет ни одного запроса. ДляSHOW PROCESSLISTэто значение содержит только первые 100 символов запроса. Чтобы увидеть полные запросы, используйтеSHOW FULL PROCESSLIST(или обратитесь к другому источнику информации о процессах).
© 2025 Oracle
Licensed under the GPLv2 License.