MySQL 5.7定位消耗CPU高的SQL
MySQL 5.7.23
1.先檢視CPU飆高的執行緒,top -H -p <mysqld程式id>
top - 15:09:26 up 135 days, 7:11, 2 users, LOAD average: 0.12, 0.08, 0.02
Tasks: 34 total, 1 running, 33 sleeping, 0 stopped, 0 zombie
Cpu(s): 12.7%us, 0.0%sy, 0.0%ni, 87.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Mem: 32880780k total, 17577884k used, 15302896k free, 601816k buffers
Swap: 4128760k total, 3916k used, 4124844k free, 7478260k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
23974 mysql 20 0 1658m 358m 12m R 99.9 1.1 0:05.52 mysqld
12295 mysql 20 0 1658m 358m 12m S 0.3 1.1 0:02.44 mysqld
12283 mysql 20 0 1658m 358m 12m S 0.0 1.1 0:01.60 mysqld
12284 mysql 20 0 1658m 358m 12m S 0.0 1.1 0:00.00 mysqld
12285 mysql 20 0 1658m 358m 12m S 0.0 1.1 0:02.63 mysqld
12286 mysql 20 0 1658m 358m 12m S 0.0 1.1 0:02.24 mysqld
12287 mysql 20 0 1658m 358m 12m S 0.0 1.1 0:01.68 mysqld
12288 mysql 20 0 1658m 358m 12m S 0.0 1.1 0:01.77 mysqld
12289 mysql 20 0 1658m 358m 12m S 0.0 1.1 0:01.64 mysqld
12290 mysql 20 0 1658m 358m 12m S 0.0 1.1 0:01.80 mysqld
12291 mysql 20 0 1658m 358m 12m S 0.0 1.1 0:02.37 mysqld
2.使用MySQL內部的表定位問題SQL。
SELECT a.THREAD_OS_ID,b.user,b.host,b.db,b.command,b.time,b.state,b.info
FROM performance_schema.threads a,information_schema.processlist b
WHERE b.id = a.processlist_id;
THREAD_OS_ID USER HOST db command TIME state info
20891 root 10.10.18.153:1499 jira SLEEP 345 (NULL)
20892 root 10.10.18.153:1500 jira SLEEP 345 (NULL)
23651 root 10.10.18.201:19387 (NULL) SLEEP 2198 (NULL)
23650 root 10.10.18.201:21445 (NULL) QUERY 0 executing SELECT a.THREAD_OS_ID,b.user,b.host,b.db,b.command,b.time,b.state,b.info
FROM performance_schema.threads a,information_schema.processlist b
WHERE b.id = a.processlist_id LIMIT 0, 1000
23970 root 10.10.18.201:21446 (NULL) SLEEP 199 (NULL)
23974 root 10.10.18.201:21466 sys QUERY 29 Sending DATA SELECT a.* FROM test a,test b,test c ,test d
ORDER BY a.value
LIMIT 0, 1000
相關文章
- 透過top命令抓取cpu高消耗的sqlSQL
- 通過top命令抓取cpu高消耗的sqlSQL
- Oracle高資源消耗SQL語句定位OracleSQL
- 如何快速定位當前資料庫消耗 CPU 最高的 sql 語句?資料庫SQL
- 獲得消耗cpu較高的topsqlSQL
- 硬解析帶來高CPU消耗的診斷
- postgresql定位top cpu sqlSQL
- MySQL 5.7:desc order by反向定位MySql
- Oracle 中定位重要(消耗資源多)的SQLOracleSQL
- 乾貨分享|快速定位UXDB中CPU高負荷的SQL語句UXSQL
- 找出消耗CPU最高的程式對應的SQL語句SQL
- Mysql 5.7 MHA 高可用MySql
- sql調優學習之cpu消耗過多...SQL
- AWR報告分析之一:高 DB CPU 消耗的效能根源-eygle
- oracle_CPU佔用率高時的問題定位Oracle
- MySQL5.7: sql script demoMySql
- 如何捕獲問題SQL解決過度CPU消耗的問題SQL
- oracle 高耗cpu sql語句的捕捉 。OracleSQL
- MySQL5.7高可用版釋出MySql
- sql語句引起的CPU佔用國高SQL
- SQL Server CPU 利用率毛刺的分析定位與解決SQLServer
- 記一次Oracle Sql最佳化經歷--消耗過多CPUOracleSQL
- 如何捕獲問題SQL解決過度CPU消耗問題 (zt)SQL
- 捕獲問題SQL解決過度CPU消耗問題-- 轉載SQL
- Sqlserver定位哪些物件和哪些會話哪些sql語句消耗了tempdbSQLServer物件會話
- MySQL5.7中的sql_mode預設值MySql
- MySQL 5.7中sql_mode的含義解釋MySql
- 監控使用高cpu的sql語句指令碼SQL指令碼
- 透過shell指令碼來檢視Undo中資源消耗高的sql指令碼SQL
- 通過shell指令碼來檢視Undo中資源消耗高的sql指令碼SQL
- 面試問題---JAVA程式CPU佔用過高怎麼定位面試Java
- 如何定位死迴圈或高CPU使用率(linux)Linux
- Mysql佔用過高CPU時的優化手段MySql優化
- 檢視當前最消耗CPU/Memory的oracle程式Oracle
- MySQL 5.7 檢視理解SQL執行計劃MySql
- 指定快照時間內根據等待類查詢消耗較高的sqlSQL
- MySQL5.7高可用版商業化釋出MySql
- SQL Server伺服器CPU爆高解決SQLServer伺服器