【1】問題描述
首先,查看top,下圖來自網絡
為什么會有%CPU 375???
還可以超過100%的? 這是因為,有多核CPU。如圖,top后,按數字1,即可出現下圖。
【2】排查辦法(當前CPU爆高)
【2.1】查看鎖情況及對應語句
SELECT * FROM information_schema.INNODB_TRX;
查看一下有沒有執行時間特別長的語句,或者資源耗費特別大的。找出來優化
【2.2】查看當前運行語句
select * from information_schema.processlist where command!='Sleep';
show processlist;
查看一下有沒有持續存在的語句,或者一看就覺得性能很差的語句。找出來優化
【2.3】優化一下tmp_table_size
show variables like '%tmp%';
主要是 tmp_table_size,這里的16777216=16*1024*1024=16M
可以設置高一點,比如128/256M.
set global tmp_table_size=256*1024*1024;