面試題:系統出現高CPU的原因是什麼

2021-02-23 搬運工來架構

最近聽說有一道面試題,是關於應用系統出現高CPU的原因,面試者說當時回答的不太好,他只是回答應該是應用出現了死循環,面試官繼續追問還有其它什麼原因造成高CPU的?面試者一時想不出來,所以就回復暫時想不到其它原因了。所以針對這個問題,回答的應該是挺糟糕的吧。幸好面試官繼續追問出現如何排查高CPU,面試者還能比較好的回答如何排查和解決,最後根據自身經驗講出來,總體上還算可以。那麼針對這個問題:應用高CPU的原因有哪些呢?

這個原因是最常見的,也是初學者或經驗較少的開發者會遇到比較多的原因。我們比較清楚的知道HashMap在多線程環境下出現線程不安全問題,可能會造成死循環。還有我以前在工作中也有遇到,就是使用定時任務分頁拉取數據進行處理的時候,如果在條件查詢上沒有明確定義好可能會造成一直查詢數據,一直沒有達到終止條件,就會一直循環拉取數據,一直處理,可能就造成CPU飆高,最後不得不修復bug後再重啟應用。

序列化的方式目前有很多種,包括Java原生以流的方法進行的序列化、Json序列化、FastJson序列化、Protobuff序列化等等。序列化也是一種消耗CPU比較高的方式。也有可能一些序列化方式會出現bug造成的高CPU。

在加解密時,會消耗較多的CPU進行處理計算。

正則表達式在使用的時候也要特別注意,有些情況是會出現高CPU。要注意貪婪模式和回溯問題。

如果應用是計算密集型應用,需要消耗很多CPU進行計算,這時也會出現CPU高的情況。

在流量比較大的情況,比如秒殺系統,瞬時巨大的流量衝擊我們的系統,這個時候也會造成系統的總體負載很高,也是高CPU的罪魁禍首之一。

上面所羅列的6種高CPU的情況,也算是比較常見的。如果出現之後我們就要排查原因,並且解決它。

如果你在面試的時候遇到,如果能說出3~4種,基本上算可以了,但是最好的方式要結合自身所遇到的場景,並且描述情況,然後再把自己如何解決的過程都告訴面試官,也可以看出你經驗比較豐富,這樣面試就可以事半功倍了。

你還遇過哪種造成CPU飆高的原因呢?

相關焦點

  • 超緊預算:1000元左右你能配個什麼配置的高性能桌上型電腦呢?
    如果有人跟你說:我預算有限,只有1000塊,我平常玩的是LOL、劍靈、天龍八部等遊戲,要求不高,主要是能玩。
  • 謠言粉碎機系列(一):三星S7的獵戶座8890處理器真的是2016年最強CPU嗎?
    公眾號ID:mobile-gpu-cpu我們曾經在這篇文章(u君雜談)裡提到過最近流行的一個新的觀點跟之前u君的實際測試很是不符。就是下面這個觀點(截圖自微博):因為u君之前曾經測試過對CPU單核性能要求極高的大型遊戲加載對比,是下面這樣的:
  • 如何正確解讀CADR值,選擇高品質的新風淨化系統?
    眾所周知,目前全國各大城市的空氣品質真是越來越差,尤其是一些發達的城市 ,更是出現了霧霾、汙染等現象,空氣汙染日益嚴重的同時,也大大降低了人們的生活質量。第二,淨化器的一次淨化效率必須比較高。然而,新風淨化系統是會補充新鮮空氣到室內,增加室內的氧氣,並降低室內二氧化碳濃度,而這也是CADR沒辦法衡量顯示的。
  • Win10頻繁出現藍屏:微軟終於查出原因!
    據外媒報導稱,最近有不少Windows 10設備頻繁出現藍屏問題,至於是什麼原因,微軟方面一直沒有給出說法,現在答案終於來了。
  • Windows 10頻繁出現藍屏:微軟終於查出原因!
    據外媒報導稱,最近有不少Windows 10設備頻繁出現藍屏問題,至於是什麼原因,微軟方面一直沒有給出說法,現在答案終於來了。
  • 鼻子兩側發紅是什麼原因
    冬季不少人鼻子兩側發紅,不見得是凍的,可能是病,那麼鼻子兩側發紅是什麼原因呢?下面養生之道網為您介紹鼻子兩側發紅是什麼原因,看看吧。
  • 冬天腳出汗是什麼原因??
    冬天天氣寒冷,但很多人仍舊會腳部出汗,那麼冬天腳出汗是什麼原因呢?下面養生之道網為您介紹冬天腳出汗是什麼原因,看看吧。
  • 印表機故障:列印一直出現亂碼,什麼原因?
    1.此種情況多數是某臺電腦驅動程序出現問題,一直在不停發送有問題的列印任務,需要先確認問題電腦並取消文檔。可以將電腦全部關機後將印表機開機,然後一臺臺電腦依次開機,哪臺開機後印表機不停列印就可以確認了。
  • 關注 水質汙染問題是什麼原因?@思源雅苑老是停水!
    水質汙染問題是什麼原因?近日,桃嶺鄉部分群眾反映關門口水庫水質受到汙染,影響到當地老百姓的生活飲用水質安全。使用人數較多,所以供水安全可靠性要求高。(2)高層建築層數多,如果從底層到頂層採用一套管網系統供水,則管網下部管道及設備的靜水壓力很大,一般管材、配件及設備的強度難以適應,所以,給水管網必須進行合理的豎向分區。(3)高層建築對防振、防沉降、防噪聲、防漏等要求較高,需要具有可靠的保證。
  • 有趣 | 把尿酸代謝比作城市交通系統,秒懂!
    雖然高尿酸已經成為高血壓、高血脂、高血糖之後的第四高,也有很多朋友得了痛風,但是:高尿酸是什麼原因造成的?為什麼高尿酸會導致痛風?肝腎代謝對痛風的影響是什麼?痛風能痊癒嗎?……不要說痛風初期的風友,連很多老痛風都弄不明白,
  • 美國國家生命統計系統(NVSS) 報告:胎兒死亡的五大原因
    美國國家生命統計系統(NVSS) 報告:胎兒死亡的五大原因
  • Win10 CPU佔用率過高:修復辦法來了
    進一步的梳理發現,部分案例顯示,問題出在Windows 10 KB4592438補丁上。同時,Reddit上也有用戶抱怨他們的CPU使用率高得令人難以置信,而錯誤的進程是「DSAService」。DSAService包含在Intel的Windows 10軟體更新工具中,據報導它經常在後臺運行,這會導致一些用戶的CPU使用率過高。經查,DSAService.exe會導致大約50-100%的峰值以及FPS下降。
  • windows系統美化軟體:顯示網速、CPU及內存利用率監控和任務欄透明插件
    溫情提示點擊頻道名/石山頻道/或頻道LOGO觀看其他文章直播類、點播類、音樂下載類軟體被和諧的機率非常高
  • 血鉀高飲食上需要注意什麼?
    血鉀高於5.5mmol/L稱為高鉀血症,>7.0mmol/L則為嚴重高鉀血症。高鉀血症有急性與慢性兩類,急性發生者為急症,應及時搶救,否則可能導致心搏驟停。血鉀高原因之一:攝入過多攝入過多是血鉀高的主要原因。飲食不當,攝入過多的含鉀食物。一般在腎功能衰竭、代謝能力差、鉀不容易排出而發生高血鉀。措施:鉀的攝入控制在45mmol/d。
  • 嗓子老是發癢、乾咳是什麼原因?醫生:體內存在4個毛病
    喉嚨經常發癢乾咳是很多人常見的一種症狀,在生活中有很多人會因為這種症狀的出現而讓自己總是感覺到難受,也有很多人在採取很多方法後都得不到緩解,但其實嗓子老是發癢乾咳是有原因的
  • 視覺保健:眼壓高的原因
  • 買新車過檢查站就被查,原因是……
    有的車輛被列為犯罪嫌疑人關聯車輛,有的不明原因……配合公安機關的工作是市民應盡的義務,但是,如果是守法公民,每次過檢查站都要靠邊停車,配合檢查,是不是也忒鬧心了?市民高先生近日向北京新聞廣播新聞熱線65159063(微信公眾號「問北京」)反映,他搖號中籤,在今年6月份購買了一輛新車,但從7月底至今,每次通過檢查站,都被要求下車檢查。
  • 為你解答:手經常脫皮是什麼原因?
    今天是星期天哦,大家今天有沒有安排什麼節目呢,能夠睡到自然醒是不是非常幸福呢?手經常脫皮是什麼原因?        有的人一到秋天手指就出現脫皮現象,這是正常的。患病的同時,患者朋友還會出現紅腫瘙癢等異常現象,因此必須要及時去醫院進行治療。        大家要是長時間用手直接碰觸化學用品等刺激物,也是會導致手出現脫皮狀況的。
  • 圖個樂:什麼原因會出現這種情況?褲襪破了?
    4什麼原因會出現這種情況?褲襪破了?56這什麼品種的烏龜?
  • 天氣寒冷,肚臍眼下面疼是什麼原因?應該怎麼辦
    那麼,肚臍眼下面疼是什麼原因?1、病理性妊娠:肚臍下面疼痛伴隨著陰道出血,通常與病理性妊娠有關,包括先兆流產和異位妊娠。異位妊娠造成的流產或破裂時,導致腹腔內出血。也引發肚臍眼下面疼等情況,需進一步治療。