伺服器CPU100 的排查日誌

2022-10-11 04:51:12 字數 833 閱讀 3758

早上發現訪問伺服器非常慢,趕緊登入控制台,原來cpu正在滿負荷執行。

一、ssh到伺服器,先使用top命令確定一下當前的伺服器負載:

top
發現 mysql 的 cpu 占用已經達到了 375%(因為是4核心),那就初步確定是 mysql 的問題了。

二、看看哪些sql造成的cpu占用過高

執行一條語句,用來檢索當前執行時間最長的sql:

select * from information_schema.processlist 

where command != 'sleep'

order by time desc limit 20;

排到上面的都是占用時間比較長的,發現都是幾個資料量和併發都比較大的表。

處理方式也很簡單,直接加索引就好,過一會cpu負載就會慢慢降下來。

三、停止個別超時或掛起的sql執行緒

新增索引後,一般情況下很多的慢sql都會有所改善,但如果還有個別sql一直在假死狀態,就需要手動kill掉才能**伺服器資源。

執行以下sql,拼接出需要手動kill的命令:

select concat('kill ', id, ';') from information_schema.processlist 

where command != 'sleep' and time > 200

order by time desc;

複製並執行生成的kill命令,過一會cpu就會緩過勁來了。 

CPU100 排查總結

系統 centos7 openjdk 1.8 1 簡單介紹 1 若cpu100 可能所有程序都不能正常幹活 假死 2 cpu100 出現情況 沒有多餘cpu切換 所有cpu均被占用,且不能被釋放 3 cpu100 出現條件 死迴圈 迴圈裡無阻塞 只有計算型任務 注 system.out.printl...

客戶伺服器CPU100 無奈的改表名

快下班了,客服的乙個小朋友,跑來找我救命,說現在服務卡爆了,cpu一直100 開啟頁面乙個複雜查詢的地方,一直loadding.等了27秒,正常一般1秒左右,看了下活動監視器,等待型別基本是latch和lock,以為是有死鎖了,檢視阻塞,一直在變化,沒有固定的阻塞,那就不是死鎖了.想著之前遇到過的乙...

伺服器日誌排查

more命令,功能 類似 cat cat命令 是整個檔案的內容從上到下顯示在螢幕上。more more命令從前向後讀取檔案,因此在啟動時就載入整個檔案。1 命令格式 more dlfpcsu num pattern linenum file 2 命令功能 more命令和cat的功能一樣都是檢視檔案裡...