mutex_instances 详解

Posted by 道行尚浅 on August 10, 2021

系统表介绍

mutex_instances 表记录了服务器运行时捕获的信号量。

mutex是代码中的同步控制机制用以确保在给定时间只有一个线程可以访问某些公共资源。

列名 含义
NAME mutex监测器名称
OBJECT_INSTANCE_BEGIN 被监测的mutex地址
LOCKED_BY_THREAD_ID 如有mutex被锁定,此处为持有该锁的线程(thread)ID,其余时刻为空

实例


mysql> select *from  mutex_instances limit 10  ; 
+---------------------------------------------------+-----------------------+---------------------+
| NAME                                              | OBJECT_INSTANCE_BEGIN | LOCKED_BY_THREAD_ID |
+---------------------------------------------------+-----------------------+---------------------+
| wait/synch/mutex/mysys/THR_LOCK_heap              |              34766560 |                NULL |
| wait/synch/mutex/mysys/THR_LOCK_net               |              34766304 |                NULL |
| wait/synch/mutex/mysys/THR_LOCK_myisam            |              34766240 |                NULL |
| wait/synch/mutex/mysys/THR_LOCK_malloc            |              34766368 |                NULL |
| wait/synch/mutex/mysys/THR_LOCK_open              |              34766624 |                NULL |
| wait/synch/mutex/mysys/THR_LOCK_charset           |              34766688 |                NULL |
| wait/synch/mutex/sql/LOCK_error_log               |              34036256 |                NULL |
| wait/synch/mutex/sql/LOCK_audit_mask              |              33982944 |                NULL |
| wait/synch/mutex/session/LOCK_srv_session_threads |              33983016 |                NULL |
| wait/synch/mutex/sql/LOG::LOCK_log                |              36646928 |                NULL |
+---------------------------------------------------+-----------------------+---------------------+
10 rows in set (0.00 sec)