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
相關文章
- 如何快速定位當前資料庫消耗 CPU 最高的 sql 語句?資料庫SQL
- postgresql定位top cpu sqlSQL
- Oracle 中定位重要(消耗資源多)的SQLOracleSQL
- MySQL 5.7:desc order by反向定位MySql
- 乾貨分享|快速定位UXDB中CPU高負荷的SQL語句UXSQL
- SQLServer如何查詢近3分鐘最消耗CPU的SQLSQLServer
- Mysql 5.7 MHA 高可用MySql
- MySQL5.7: sql script demoMySql
- 如何捕獲問題SQL解決過度CPU消耗的問題SQL
- SQL Server CPU 利用率毛刺的分析定位與解決SQLServer
- MySQL5.7中的sql_mode預設值MySql
- Sqlserver定位哪些物件和哪些會話哪些sql語句消耗了tempdbSQLServer物件會話
- MySQL5.7高可用版釋出MySql
- MySQL 5.7 performance_schema庫和sys庫常用SQLMySqlORM
- MySQL5.7被一條排序SQL弄當機MySql排序
- SQL Server伺服器CPU爆高解決SQLServer伺服器
- Laravel/Lumen 記錄MySQL 和 MongoDB 產生的 SQL,定位 SQL 產生位置LaravelMySqlMongoDB
- 記一次K8S叢集Node節點CPU消耗高故障K8S
- CentOS(7.6)環境下遷移Mysql(5.7)的data目錄到指定位置CentOSMySql
- MySQL 5.7的角色功能MySql
- 結合作業系統執行緒 檢視mysql中的sql資源 消耗作業系統執行緒MySql
- Oracle - 執行過的SQL、正在執行的SQL、消耗資源最多的SQLOracleSQL
- [轉帖]JFR 定位因為 SSL 導致 CPU Load 飈高的問題
- MySQL資料庫SYS CPU高的可能性分析MySql資料庫
- 面試問題---JAVA程式CPU佔用過高怎麼定位面試Java
- MySQL InnoDB Cluster如何定位或找出超過事務大小的SQL?MySql
- linux下定位異常消耗的執行緒實戰分析Linux執行緒
- mysql佔用CPU過高的解決辦法(新增索引)MySql索引
- 利用 Arthas 精準定位 Java 應用 CPU 負載過高問題Java負載
- 詳述一條SQL引發的高CPU故障處理過程SQL
- Docker 部署 mysql 5.7DockerMySql
- Install MySQL 5.7 in the DockerMySqlDocker
- Oracle資料庫 11.2.0.4 EMON程式持續消耗CPUOracle資料庫
- 執行sed命令卡死CPU消耗100%一例分析
- 遊戲測試 Perfdog 實戰之減少 CPU 消耗遊戲
- [20190402]對比_mutex_wait_scheme不同模式cpu消耗.txtMutexAIScheme模式
- mysql 5.7主從配置MySql
- yum install mysql5.7MySql