cpu為16核的,load average負載穩(wěn)定在12左右.
用top查看沒有任何高占用cpu的進程存在。
請問如何查找問題所在?
截圖為連續(xù)的3個截圖 可以看到最占用cpu的就是php-fpm和nginx 這兩個,但作為web服務器 占用1%并不算高。top中也使用了P來排序,始終找不到對應的進程。也重啟過,沒有解決問題,top截圖是在root用下操作的。是否存在進程隱藏,服務器被黑的可能呢?
感謝您的回答:
系統(tǒng)信息:Linux web02 2.6.18-407.el5xen #1 SMP Wed Nov 11 08:54:02 EST 2015 x86_64 x86_64 x86_64 GNU/Linux,目前我正在想辦法安裝perf,我這邊yum壞掉了,我正在想辦法。
先貼上vmstat的信息吧??雌饋韎o是不高的。
貼上iotop和iostat的信息 感覺io的影響不大,我這是centos5.6所以perf找不到合適的版本來用了。目前看還是cpu莫名的高 16核 75%us還是太高了
對的,作為web服務器我把web服務關掉了,負載也沒有變化始終這么高,系統(tǒng)確實比較老,5.5的centos mirror都不支持了,主要是手頭上還有幾個和這個系統(tǒng)一樣的,分別的別的web服務器,數(shù)據(jù)庫服務器,4-5臺吧。。 系統(tǒng),配置都差不多,唯獨這臺cpu始終占用高。。top中看不到進程,實在不知道從哪下手查找問題。 從網(wǎng)絡流量看? 從防火墻?還是別的方面。
ps H -eo user,pid,ppid,tid,time,%cpu,cmd --sort=%cpu
我搜到了這樣一個命令,然后在結果中看到了看了占用cpu的進程,是系統(tǒng)的占用,
root 30849 1 30858 03:16:37 99.7 [kacpi_notify]
root 30849 1 30859 03:16:35 99.7 [kacpi_notify]
root 30849 1 30860 03:16:36 99.7 [kacpi_notify]
root 30849 1 30861 03:16:37 99.7 [kacpi_notify]
root 30849 1 30863 03:16:37 99.7 [kacpi_notify]
root 30849 1 30864 03:16:38 99.7 [kacpi_notify]
root 30849 1 30865 03:16:36 99.7 [kacpi_notify]
root 30849 1 30866 03:16:38 99.7 [kacpi_notify]
在iotop中是可以看到這個進程的,但是io中沒有cpu占用,top中看不到 [kacpi_notify] acpi進程的通知進程 acpi是電源的接口,應該是機器太老的原因 ,用了十幾年的機器了。
主要是user用戶態(tài)占用,可以用perf top看一下熱點函數(shù),根據(jù)熱點函數(shù)可以進一步推斷可能屬于哪個進程或程序。
perf工具當前主流的發(fā)行版都會有,但如果版本較老可能就沒有了。題主最好貼一下系統(tǒng)的版本信息。
類似下面這種:
hidtak@hidtak:~$ uname -a
Linux hidtak 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
Intel的VTune是另外一種方法(試用版即可),老版本也可以用。
2018.5.31更新:
題主的內(nèi)核版本太老了,perf至少3.0內(nèi)核以上才支持。
這種問題分析起來比較麻煩,因為可能是底層的代碼BUG或機制缺陷;低版本內(nèi)核缺乏一些分析工具和手段,就更麻煩了。
我覺得只能采用比較笨的排除法了,因為題主提到過重啟后也會復現(xiàn)。(是立即復現(xiàn)?還是做了什么操作后?還是有了業(yè)務請求后?)。
那么系統(tǒng)啟動過程中會拉起一系列的服務和應用。一個個關閉排除就好了。
另外從原理上講2.6內(nèi)核版本統(tǒng)計CPU(核)占用率就是讀取/proc/stat文件,統(tǒng)計進程的占用率是讀取/proc/<pid>/stat文件。
那么我能想到的可能有幾種情況:
1)TOP的BUG,沒顯示全?或者排序方式不對?默認是按照CPU排序?。?br>這個容易確認,只需要看/proc下所有pid是否都在TOP中顯示了。注意TOP是分頁的;可以用top批處理選項,輸出到一個文件中。
2)內(nèi)核或底層代碼BUG。
可以通過Google相關案例看看,說不定可以找到類似BUG案例。
3)內(nèi)核被黑客攻擊了,并且注入了惡意代碼,導致/proc/內(nèi)沒有對應PID的節(jié)點生成,TOP讀取不到進程信息。
黑客一般不會單單占用一下CPU,通常會向外發(fā)送信息,否則對他也沒啥實際意義,所以可以通過監(jiān)控一下網(wǎng)絡活動看看是否有些痕跡,例如可以通過抓包看看是否有異常的網(wǎng)絡地址,異常的數(shù)據(jù)收發(fā)行為。
當然也有可能就是一個單純消耗CPU的病毒。
無論是病毒或木馬,重啟之后也存在,說明它在磁盤上有執(zhí)行文件,并且設置了自動啟動,在啟動配置里面肯定有體現(xiàn),可以通過排除法也可以找到它。
以上供參考。
北大青鳥APTECH成立于1999年。依托北京大學優(yōu)質(zhì)雄厚的教育資源和背景,秉承“教育改變生活”的發(fā)展理念,致力于培養(yǎng)中國IT技能型緊缺人才,是大數(shù)據(jù)專業(yè)的國家
北大青鳥中博軟件學院創(chuàng)立于2003年,作為華東區(qū)著名互聯(lián)網(wǎng)學院和江蘇省首批服務外包人才培訓基地,中博成功培育了近30000名軟件工程師走向高薪崗位,合作企業(yè)超4
中公教育集團創(chuàng)建于1999年,經(jīng)過二十年潛心發(fā)展,已由一家北大畢業(yè)生自主創(chuàng)業(yè)的信息技術與教育服務機構,發(fā)展為教育服務業(yè)的綜合性企業(yè)集團,成為集合面授教學培訓、網(wǎng)
達內(nèi)教育集團成立于2002年,是一家由留學海歸創(chuàng)辦的高端職業(yè)教育培訓機構,是中國一站式人才培養(yǎng)平臺、一站式人才輸送平臺。2014年4月3日在美國成功上市,融資1
曾工作于聯(lián)想擔任系統(tǒng)開發(fā)工程師,曾在博彥科技股份有限公司擔任項目經(jīng)理從事移動互聯(lián)網(wǎng)管理及研發(fā)工作,曾創(chuàng)辦藍懿科技有限責任公司從事總經(jīng)理職務負責iOS教學及管理工作。
浪潮集團項目經(jīng)理。精通Java與.NET 技術, 熟練的跨平臺面向?qū)ο箝_發(fā)經(jīng)驗,技術功底深厚。 授課風格 授課風格清新自然、條理清晰、主次分明、重點難點突出、引人入勝。
精通HTML5和CSS3;Javascript及主流js庫,具有快速界面開發(fā)的能力,對瀏覽器兼容性、前端性能優(yōu)化等有深入理解。精通網(wǎng)頁制作和網(wǎng)頁游戲開發(fā)。
具有10 年的Java 企業(yè)應用開發(fā)經(jīng)驗。曾經(jīng)歷任德國Software AG 技術顧問,美國Dachieve 系統(tǒng)架構師,美國AngelEngineers Inc. 系統(tǒng)架構師。