threads 详解

Posted by 道行尚浅 on October 29, 2021

系统表介绍

threads 每一行表示一个服务器线程

列名 含义
THREAD_ID 线程编号
NAME 线程名称
TYPE 线程类型
PROCESSLIST_ID 进程ID (同PROCESSLIST表)
PROCESSLIST_USER 登录用户
PROCESSLIST_HOST 客户端IP
PROCESSLIST_DB 默认数据库
PROCESSLIST_COMMAND 当前正在执行的命令类型
PROCESSLIST_TIME 当前状态的持续时间
PROCESSLIST_STATE 当前状态
PROCESSLIST_INFO 正在被执行的语句
PARENT_THREAD_ID 父线程编号
ROLE 未使用
INSTRUMENTED 是否被监测
HISTORY 是否记录线程历史信息
CONNECTION_TYPE 连接类型(本地为null,SSL/TLS,SOCKET,NAMED PIPE SHARED_MEMORY)
THREAD_OS_ID 操作系统线程编号

实例


mysql> SELECT * FROM threads  order by  type desc limit 2 \G ;
*************************** 1. row ***************************
          THREAD_ID: 26
               NAME: thread/sql/compress_gtid_table
               TYPE: FOREGROUND
     PROCESSLIST_ID: 1
   PROCESSLIST_USER: NULL
   PROCESSLIST_HOST: NULL
     PROCESSLIST_DB: NULL
PROCESSLIST_COMMAND: Daemon
   PROCESSLIST_TIME: 12823255
  PROCESSLIST_STATE: Suspending
   PROCESSLIST_INFO: NULL
   PARENT_THREAD_ID: 1
               ROLE: NULL
       INSTRUMENTED: YES
            HISTORY: YES
    CONNECTION_TYPE: NULL
       THREAD_OS_ID: 2648
*************************** 2. row ***************************
          THREAD_ID: 379
               NAME: thread/sql/one_connection
               TYPE: FOREGROUND
     PROCESSLIST_ID: 354
   PROCESSLIST_USER: dao
   PROCESSLIST_HOST: 192.168.2.62
     PROCESSLIST_DB: NULL
PROCESSLIST_COMMAND: Binlog Dump
   PROCESSLIST_TIME: 254734
  PROCESSLIST_STATE: Master has sent all binlog to slave; waiting for more updates
   PROCESSLIST_INFO: SET @slave_uuid= '089a60e4-7972-11eb-9439-000c2904aaaa'
   PARENT_THREAD_ID: NULL
               ROLE: NULL
       INSTRUMENTED: YES
            HISTORY: YES
    CONNECTION_TYPE: TCP/IP
       THREAD_OS_ID: 3294
2 rows in set (0.00 sec)


关于thread_id ,查看MySQL服务进程的线程


[root@etlbi ~]# ps -T -p 2621
  PID  SPID TTY          TIME CMD
 2621  2621 ?        00:00:01 mysqld
 2621  2622 ?        00:00:00 mysqld
 2621  2623 ?        00:00:13 mysqld
 2621  2624 ?        00:00:12 mysqld
 2621  2625 ?        00:00:12 mysqld
 2621  2626 ?        00:00:13 mysqld
 2621  2627 ?        00:00:12 mysqld
 2621  2628 ?        00:00:12 mysqld
 2621  2629 ?        00:00:17 mysqld
 2621  2630 ?        00:00:14 mysqld
 2621  2631 ?        00:00:14 mysqld
 2621  2632 ?        00:00:13 mysqld
 2621  2633 ?        00:00:25 mysqld
 2621  2635 ?        00:00:10 mysqld
 2621  2636 ?        00:00:33 mysqld
 2621  2637 ?        00:00:03 mysqld
 2621  2638 ?        00:00:20 mysqld
 2621  2639 ?        00:00:04 mysqld
 2621  2640 ?        00:00:02 mysqld
 2621  2641 ?        00:00:02 mysqld
 2621  2642 ?        00:00:01 mysqld
 2621  2643 ?        00:00:00 mysqld
 2621  2644 ?        00:00:02 mysqld
 2621  2645 ?        00:00:03 mysqld
 2621  2646 ?        00:00:00 mysqld
 2621  2647 ?        00:00:00 mysqld
 2621  2648 ?        00:00:00 mysqld
 2621  2886 ?        00:00:00 mysqld
 2621  3026 ?        00:00:24 mysqld
 2621  3027 ?        00:00:00 mysqld
 2621  3028 ?        00:00:00 mysqld
 2621  3029 ?        00:00:05 mysqld
 2621  3030 ?        00:00:00 mysqld
 2621  3031 ?        00:00:00 mysqld
 2621  3032 ?        00:00:00 mysqld
 2621  3033 ?        00:00:01 mysqld
 2621  3034 ?        00:00:30 mysqld
 2621  3035 ?        00:00:00 mysqld
 2621  3281 ?        00:00:15 mysqld
 2621  3282 ?        00:00:25 mysqld
 2621  3288 ?        00:00:01 mysqld
 2621  3290 ?        00:00:00 mysqld
 2621  3294 ?        00:00:01 mysqld
 2621  3295 ?        00:00:06 mysqld
 2621  3299 ?        00:00:00 mysqld