iT邦幫忙

0

Mysql CPU資源被佔用問題

  • 分享至 

  • xImage

https://ithelp.ithome.com.tw/upload/images/20180309/20104667r4SYEZciZj.png
有兩台DB都發現CPU無故被佔用20%左右的問題,導致mysql運作變慢
查詢後發現有一隻agetty再運作卡在那,有kill過一台證明是這隻做怪
但是還是想找出為什麼agetty把資源吃掉的原因
要怎麽去查出這隻程式是怎麽被執行出來的和除了kill之外有沒有更好的做法?

https://ithelp.ithome.com.tw/upload/images/20180309/20104667LYtk9yyS7G.png
另外網路上發現一張圖
top可以顯示記憶體為M或K
可是我的系統顯示數字非常大,可能是bytes
這要怎麽切換?

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中
0
Ray
iT邦大神 1 級 ‧ 2018-03-09 14:34:59
最佳解答

agetty 不太可能吃很多 CPU 到 99%, 有很大的機率是:
你的系統被入侵, agetty 被人家換成挖礦程式了...

另外, 這裡也有很多其他的案例, 大多跟 Bug/Config 有關:
Google: agetty cpu high

hsiang11 iT邦好手 1 級 ‧ 2018-03-09 15:00:14 檢舉

被入侵就很可怕了 算起來大概已經跑了70天
我先觀察看看 不過重開機測試沒跑出來了
應該只是個BUG 影響到DB運作實在有些離奇
本機記憶體也被釋放出來了 使用量降不少

Ray iT邦大神 1 級 ‧ 2018-03-09 21:38:51 檢舉

如果重開機就不見, 那機率又更高了...

一般挖礦的手法是:

  1. 尋找系統內可以下手替代的系統程式
  2. 從外網注入惡意程式到記憶體內
  3. 將原本的系統程序砍除並抑制住
  4. 執行挖礦軟體占用正常程序的資源

由於這個手法的惡意程式, 只能被植入到記憶體內, 不會存到檔案系統, 所以只要重開機就會消失.

但若系統的漏洞沒有補起來, 下次他還是會循相同的管道植入進來; 故需要觀察一段時間, 如果他又來第二次, 那麼被植入的機率就非常高.....

下次如果又發生, 您可以用:

ss -ap | grep agetty

的指令, 觀察 agetty 是否有占用特定的 port 在接收指令?

0
黃彥儒
iT邦高手 1 級 ‧ 2018-03-09 14:11:59

You can switch the memory unit by pressing e. E will select the memory unit in the top summary bar.

關鍵字是top human readable(top 人看得懂的),搜到了一篇文章

hsiang11 iT邦好手 1 級 ‧ 2018-03-09 14:21:09 檢舉

top 人看得懂的 這搜尋方式沒想過
感謝

0
跑跑貓力歐
iT邦新手 5 級 ‧ 2018-03-14 09:06:35

在 RHEL 6.8 測試過,這個指令可以用MB和GB來呈現memory

top -M

https://ithelp.ithome.com.tw/upload/images/20180314/20104222W5cIlilSsg.png

我要發表回答

立即登入回答