mysql占用伺服器cpu過高的原因以及解決辦法

2021-09-06 13:05:34 字數 799 閱讀 9276

登陸mysql:

mysql -p-u-p

mysql> show processlist;            

show processlist 命令詳解:

processlist命令的輸出結果顯示了有哪些執行緒在執行,可以幫助識別出有問題的查詢語句。

下面是mysql占用cpu高處理的乙個例子,希望對遇到類似問題的朋友們有點啟發。一般來說myql占用cpu高,多半是資料庫查詢**問題,查詢資料庫過多。所以一方面要精簡**,另一方面最好對頻繁使用的**設定索引。

今天早上起來 機器報警 一查負載一直都在4以上

top了一下 發現 mysql 穩居 第一 而且相當穩定 我擦 重啟一下mysql不行 mysql> show processlist;一下 發現*****有兩條 查詢語句 一直 在列,我擦 該站 也就30多萬條記錄 量也不大 不可能是機器效能問題

忽然 記得以前在網上看過說是 tmp_table_size值太小會造成這種情況; 於是mysql -p*** -e "show variables;"  >tmp 一看是預設的32m(顯示出來的是位元組數) 於是翁就開心的改了起來 增加到256 重啟 mysql 。。結果很失望

於是 從索引入手:

增加兩條索引

mysql> alter table bbs_message add index parentid(parent_id);

alter table bbs_message add index chaxunid(board_id,parent_id);

最後檢視一下索引結果:

詳細出處參考:

mysql 占用cpu過高

mysql 最近因使用者訪問量的增大和資料的增多,導致占用cpu過大,甚至可達100 所以,在網上找了些資料,進行cpu的優化 1.修改my.ini的 tmp table size 原來的 tmp table size 竟然為18m 汗.將其值修改為200m tmp table size 200m2...

Shell找出伺服器占用CPU 記憶體過高的程序

快速找出占用伺服器資源過高程序,我們可以結合ps命令來寫乙個shell指令碼,以便快速找出占用資源過高的程序。bin bash echo cpu top 10 ps eo pid,pcpu,pmem,args sort pcpu head n 10 echo memeory top 10 ps eo...

SQL Server占用伺服器記憶體過高

sql server對伺服器記憶體的使用策略是用多少記憶體就占用多少記憶體,只用在伺服器記憶體不足時,才會釋放一點占用的記憶體,所以sql server 伺服器記憶體往往會占用很高。檢視記憶體狀態 dbcc memorystatus這些記憶體一般都是sql server執行時候用作快取的 1.資料快...