MySQL伺服器CPU跑滿100 的情況分析

2021-08-13 11:04:31 字數 1053 閱讀 6483

我們的原則是,重啟能解決的,絕對不開client

cpu100%通常情況下就是有慢sql造成的,這裡的慢sql包括全表掃瞄,掃瞄資料量過大,記憶體排序,磁碟排序,鎖爭用等待等...

一般表現現象sql執行狀態為:sending datacopying to tmp tablecopying to tmp table on disksorting resultlocked

通過show processlist檢視當前正在執行的sql,當執行完show processlist後出現大量的語句,通常其狀態出現sending datacopying to tmp tablecopying to tmp table on disksorting result,using filesort都是sql有效能問題

可以用explain檢視sql執行效率,分析索引

解決方案整理

1.sending data表示:sql正在從表中查詢資料,如果查詢條件沒有適當的索引,則會導致sql執行時間過長;

2.copying to tmp table on disk:出現這種狀態,通常情況下是由於臨時結果集太大,超過了資料庫規定的臨時記憶體大小,需要拷貝臨時結果集到磁碟上,這個時候需要使用者對sql進行優化

3.sorting result, using filesort:出現這種狀態,表示sql正在執行排序操作,排序操作都會引起較多的cpu消耗,通常的優化方法會新增適當的索引來消除排序,或者縮小排序的結果集

4.出現sending data的情況:這種一般就是sql不規範,優化sql吧.

5.檢查**是不是有被cc攻擊之類的

伺服器記憶體跑滿是什麼原因造成的

相信大家在使用伺服器的時候會有出現記憶體使用率比較高的情況,這邊給大家說下到底有哪些原因導致記憶體不足 一 應用程式池應用程式池有乙個預設 的時間,到了這個時間就會自動釋放記憶體,這個時間一般是1740分鐘,而這種程度的時間可能會導致應用程式池無法及時釋放記憶體,從而出現記憶體不足的情況發生。如果是...

伺服器效能監控 cpu

最近伺服器load較高,後來排查是死迴圈 這可要命了,下面介紹乙個普通排查方法 top 檢視pid 負載較高的那個 當然 jps也可以 然後 定位 這個程序ip下面的執行緒耗時情況 ps mp pid o thread,tid,time 看time 可能有乙個執行緒執行時間特別長 幾十分鐘或者更長 ...

伺服器效能之CPU

有時我們會發現開發的應用在cpu核數一樣的虛擬伺服器上效能表現出較大的差異,這是為什麼呢?上次有童鞋問到我這樣乙個問題,所以我根據自己的理解給大家簡說下!cpu生產商為了提高cpu的效能,通常做法是提高cpu的時鐘頻率和增加快取容量。不過目前cpu的頻率越來越快,如果再通過提公升cpu頻率和增加快取...