騰訊云云服務器CPU或內(nèi)存占用過高怎么辦?

來源:騰訊云
作者:騰訊云
時間:2020-08-19
6753
本文檔介紹因云服務器CPU或內(nèi)存占用過高,導致無法登錄Windows和Linux云服務器實例的排查方法和解決方案。

簡介

本文檔介紹因云服務器CPU或內(nèi)存占用過高,導致無法登錄Windows和Linux云服務器實例的排查方法和解決方案。

排查思路

1.登錄實例定位消耗CPU或內(nèi)存的具體進程。

2.對CPU或內(nèi)存占用率高的進程進行分析。

·如果是異常進程,可能是病毒或木馬導致,您可以自行終止進程,或者使用安全軟件進行查殺。

·如果是業(yè)務進程,則需要分析是否由于訪問量變化引起,是否存在優(yōu)化空間。

·如果是騰訊云組件進程,請?zhí)峤还温?lián)系我們進行進一步定位處理。

故障定位及處理

針對Windows服務器

使用VNC方式登錄云服務器

說明:

由于云服務器負載高時會導致無法建立遠程連接,推薦使用VNC方式登錄Windows實例。

1.登錄云服務器控制臺。

2.在實例的管理頁面,找到目標云服務器實例,單擊【登錄】。如下圖所示:

038fce530c6c6827796e51d896306a93.png

3.在彈出的“登錄Windows實例”窗口中,選擇【其它方式(VNC)】,單擊【立即登錄】,登錄云服務器。

4.在彈出的登錄窗口中,選擇左上角的“發(fā)送遠程命令”,單擊Ctrl-Alt-Delete進入系統(tǒng)登錄界面。如下圖所示:

2dec43fa6ddb5e442da59c75f7a34b0f.png

查看進程占用情況

1.在云服務器中,右鍵單擊“任務欄”,選擇【任務管理器】。如下圖所示:

image.png

2.在打開的“任務管理器”中,即可查看資源占用情況。如下圖所示:

f4e85ae575a486ea9d6641ce9a7a8e21.png

說明:

您可單擊CPU或內(nèi)存,以升序/降序?qū)M程進行排序。

進程分析

根據(jù)任務管理器中的進程,分析與排查問題,以采取對應解決方案。

占用大量CPU或內(nèi)存資源的進程為系統(tǒng)進程

如果您發(fā)現(xiàn)系統(tǒng)進程占用了大量CPU或內(nèi)存資源,請排查以下內(nèi)容:

1.檢查進程名稱。

部分病毒會使用與系統(tǒng)進程相似的名稱,例如svch0st.exe、explore.exe、iexplorer.exe等。

2.檢查進程對應的可執(zhí)行文件的所在位置。

系統(tǒng)進程一般位于C:WindowsSystem32目錄下,并且會有完善的簽名和介紹。您可以在任務管理器中,右鍵單擊待查看的進程,選擇【打開文件位置】,即可查看具體可執(zhí)行文件的位置。例如svchost.exe。如下圖所示:

09dca00652a301e804f9411658e4c46e.png

·如果進程位置不在C:WindowsSystem32目錄下,則表示該云服務器可能中了病毒,請手動或者使用安全工具進行查殺。

·如果進程位置在C:WindowsSystem32目錄下,請重啟系統(tǒng)或關閉不需要且安全的系統(tǒng)進程。

常見的系統(tǒng)進程如下:

·System Idle Process:系統(tǒng)空間進程,顯示CPU空閑時間百分比

·system:內(nèi)存管理進程

·explorer:桌面和文件管理

·iexplore:微軟的瀏覽器

·csrss:微軟客戶端/服務端運行時子系統(tǒng)

·svchost:系統(tǒng)進程,用于執(zhí)行DLL

·Taskmgr:任務管理器

·Isass:本地安全權限服務

占用大量CPU或內(nèi)存資源的進程為異常進程

如果您發(fā)現(xiàn)一些命名很奇怪的進程占用了大量CPU或內(nèi)存資源,則可能為木馬病毒進程,例如xmr64.exe(挖礦病毒)等。建議您使用搜索引擎進行搜索,確認是否為木馬病毒進程。

·如果是木馬病毒進程,請使用安全工具進行查殺,必要時考慮備份數(shù)據(jù),重裝系統(tǒng)。

·如果不是木馬病毒進程,請重啟系統(tǒng)或關閉不需要且安全的進程。

占用大量CPU或內(nèi)存資源的進程為業(yè)務進程

如果您發(fā)現(xiàn)業(yè)務進程占用了大量CPU或內(nèi)存資源,例如IIS、HTTPD、PHP、Java等,建議進一步分析。

例如,判斷當前業(yè)務量是否較大。

·若業(yè)務量較大,建議您升級服務器配置;若不升級服務器配置,可以考慮業(yè)務程序是否存在優(yōu)化空間,請進行優(yōu)化。

·若業(yè)務量不大,則需要進一步結(jié)合業(yè)務報錯日志來分析。例如,參數(shù)配置不當導致空耗資源。

占用大量CPU或內(nèi)存資源的進程為騰訊云組件進程

請?zhí)峤还温?lián)系我們進行進一步定位處理。

針對Linux服務器

登錄云服務器

根據(jù)實際需求,選擇不同的登錄方式登錄云服務器。

·通過第三方軟件遠程登錄Linux云服務器。

注意:

Linux云服務器處于CPU高負荷狀態(tài)時,可能出現(xiàn)無法登錄狀態(tài)。

·使用VNC登錄Linux實例。

注意:

Linux云服務器處于CPU高負荷狀態(tài)時,控制臺可以正常登錄。

查看進程占用情況

執(zhí)行以下命令,查看系統(tǒng)負載,并根據(jù)%CPU列與%MEM列,確定占用較多資源的進程。

top

分析進程

根據(jù)任務管理器中的進程,分析與排查問題,以采取對應解決方案。

·如果是業(yè)務進程占用了大量CPU或內(nèi)存資源,建議分析業(yè)務程序是否有優(yōu)化空間,進行優(yōu)化或者升級服務器配置。

·如果是異常進程占用了大量CPU或內(nèi)存資源,則實例可能中毒,您可以自行終止進程或者使用安全軟件進行查殺,必要時考慮備份數(shù)據(jù),重裝系統(tǒng)。

·如果是騰訊云組件進程占用了大量CPU或內(nèi)存資源,請?zhí)峤还温?lián)系我們進行進一步定位處理。

常見的騰訊云組件有:

  • sap00x:安全組件進程

  • Barad_agent:監(jiān)控組件進程

  • secu-tcs-agent:安全組件進程

終止進程

1.根據(jù)分析的占用資源的進程情況,記錄需要終止的進程PID。

2.輸入k。

3.輸入需要終止進程的PID,按Enter。如下圖所示:

此處以終止PID為23的進程為例。

38a98b3fc36b09c4e3f99765d3cf5691.png

注意:

若按Enter后出現(xiàn)kill PID 23 with signal[15]:,則繼續(xù)按Enter保持默認設定即可。

操作成功后,界面會出現(xiàn)Send pid 23 signal[15/sigterm]的提示信息,按Enter確認即可。

其它相關故障

CPU空閑但高負載情況處理

問題描述

Load average是CPU負載的評估,其值越高,說明其任務隊列越長,處于等待執(zhí)行的任務越多。

通過top觀察,類似如下圖所示,CPU很空閑,但是load average卻非常高。

image (2).png

處理辦法

執(zhí)行以下命令,查看進程狀態(tài),并檢查是否存在D狀態(tài)進程。如下圖所示:

ps-axjf

image (3).png

說明:

D狀態(tài)指不可中斷的睡眠狀態(tài)。該狀態(tài)進程無法被殺死,也無法自行退出。

若出現(xiàn)較多D狀態(tài)進程,可通過恢復該進程依賴資源或重啟系統(tǒng)進行解決。

swapd0進程占用CPU較高處理

問題描述

Linux系統(tǒng)通過分頁機制管理內(nèi)存的同時,將磁盤的一部分劃出來作為虛擬內(nèi)存。而kswapd0是Linux系統(tǒng)虛擬內(nèi)存管理中負責換頁的進程。當系統(tǒng)內(nèi)存不足時,kswapd0會頻繁的進行換頁操作。換頁操作非常消耗CPU資源,導致該進程持續(xù)占用高CPU資源。

處理辦法

1.執(zhí)行以下命令,找到kswapd0進程。

top

2.觀察kswapd0進程狀態(tài)。

若持續(xù)處于非睡眠狀態(tài),且運行時間較長并持續(xù)占用較高CPU資源,請執(zhí)行如下步驟3,查看內(nèi)存的占用情況。

3.執(zhí)行vmstat,free,ps等指令,查詢系統(tǒng)內(nèi)進程的內(nèi)存占用情況。

根據(jù)內(nèi)存占用情況,重啟系統(tǒng)或終止不需要且安全的進程。如果si,so的值也比較高,則表示系統(tǒng)存在頻繁的換頁操作,當前系統(tǒng)的物理內(nèi)存已經(jīng)不能滿足您的需要,請考慮升級系統(tǒng)內(nèi)存。

原文鏈接:點擊前往 >
版權說明:本文內(nèi)容來自于騰訊云,本站不擁有所有權,不承擔相關法律責任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯(lián)系管理員(zzx@kchuhai.com)刪除!
個人VIP