Mysql占用CPU過高如何優化?

時間 2021-05-30 17:21:53

1樓:kope du

mysql cpu高 99%的可能是sql不合理或者沒有合適索引導致 rows_read過高

當然也可能是qps非常高,熱點資料讀寫導致鎖爭用等

一般情況都是sql問題,建議優化sql

2樓:徐志斌

CPU占用過高和磁碟I/O沒有必然聯絡。如果資料庫I/O繁忙CPU反而利用率上不去,因為CPU處於I/O wait狀態。

資料庫CPU高主要有2個原因,第乙個是記憶體latch,第二個是硬解析。所以我覺得LZ應該從這兩方面去排查問題,優化I/O是錯誤的方向。

3樓:王一鳴

我不是dba,只能從使用上說一些方法給你參考。

1. 盡量少用或者不用join語句,盡量讓所有的sql都使用索引(使用explain檢查);

2. 如果是讀寫量過大的話,考慮在mysql上層搭建快取(檔案快取或mc);

3. 根據自己的實際狀況使用mysql引擎,調優引數。

4樓:Jeffrey Lv

一般來講,排除高併發的因素,還是要找到你導致你CPU過高的哪幾條在執行的SQL,可以查slowlog,也可以使用innotop等工具實時監控,將那些執行時間過長且占用資源過多的SQL拿來進行EXPLAIN分析,檢視是否索引新增正常,還是SQL效率不行,導致CPU過高,多數是Group By、Order By排序問題所導致,然後慢慢進行優化改進。

5樓:Robin

MySQL處在高負載環境下,磁碟IO讀寫過多,肯定會占用很多資源,必然CP會U占用過高。

占用CPU過高,可以做如下考慮:

1.開啟慢查詢日誌,查詢是否是某個SQL語句占用過多資源,如果是的話,可以對SQL語句進行優化,比如優化 insert 語句、優化 group by 語句、優化 order by 語句、優化 join 語句等等;

2.考慮索引問題;

3.定期分析表,使用optimize table;

4.優化資料庫物件;

5.考慮是否是鎖問題;

6.調整一些MySQL Server引數,比如key_buffer_size、table_cache、innodb_buffer_pool_size、innodb_log_file_size等等;

7.如果資料量過大,可以考慮使用MySQL集群或者搭建高可用環境。

為什麼win10總是占用記憶體過高?

不會飛的鳥 試試更新驅動試試。我的就是更新了驅動就好了。圖1是更新驅動之前的,才用了一天記憶體就滿了。把所有能關的程式都關了都不行,只能重啟。然後更新驅動 具體哪個驅動忘了,自己檢測吧 之後,開機一周了,開了十多個程式,記憶體一直不到40 好用極了!趕緊更新下驅動試試吧 已登出 之前答過類似的,直接...

svchost一直占用25 的CPU,如何解決?

首先找的該程序的pid,然後用pchunter檢視該程序的執行緒,找的是哪個執行緒占用這麼多資源,找到對應執行緒的檔案,然後檢視系統服務,通過檔案找到服務,把服務型別改成手動,重啟計算機。如果覺得太麻煩了,重灌吧。 Jiang Sheng 跑在svchost後的應該是某個windows servic...

PC上的QQ和TIM為什麼占用cpu這麼高?

鶖紅陌夏 不清楚,剛瞄了一眼伺服器,CPU負載居然22 上下,看了下程序,TIM居然佔了15 直接給退了,我這兒不少sql作業,退了TIM後,日常負載10 總結,不用為妙 鹹蛋 這不是偶然現象基本開幾個小時就會出現一次我懷疑是在後台挖礦只是一直沒心思逆向看看是不是哪天有空 TX你可別被我逮住了 ch...