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