五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

面試官:生產(chǎn)環(huán)境中 CPU 利用率飆高怎么辦?

2022-05-08 21:33 作者:劉水鏡  | 我要投稿


生產(chǎn)環(huán)境中 CPU 利用率飆高的情況該如何排查?你是否在面試的時候也被問到過類似的問題呢?今天,我們就一起研究一下。


問題排查


讓 CPU 燥起來


首先,我們需要讓 CPU 燥起來。寫一個死循環(huán)來瘋狂占用 CPU 資源:


查看 CPU 運行情況


然后,運行上面這個小程序,再通過 top 命令來查看一下系統(tǒng)資源的使用情況:

圖中灰色背景的 %CPU 字段就是我們需要關(guān)注的指標(biāo),它表示每個進程對于 CPU(單個核)占用的時間百分比。可以看到,我們的程序?qū)?CPU 的占用率為 75.1%。


定位作妖的線程


接下來我們再進一步查看具體是哪個線程占用了過多的 CPU 資源。執(zhí)行如下命令:

?top?-Hp?1683

H 代表查看線程視圖,p 用來指定具體的進程 ID,上面的命令就是用來查看進程1683 中所有線程的執(zhí)行情況。


可以看到,占用 CPU 最多的線程就是那個 while (true) 線程——cpu test。


找出問題所在


找到了作妖的線程以后,就好辦了,接下來通過 jstack 命令就可以看到該線程的運行棧信息了。不過在此之前,需要先做一個進制轉(zhuǎn)換:

將十進制的線程 ID(17706)轉(zhuǎn)換成十六進制(452a)


有了十六進制的線程 ID 以后,就可以通過 jstack 命令來精確定位導(dǎo)致 CPU 飆高的代碼了。


OK,我們找到了導(dǎo)致 CPU 飆高的「罪魁禍?zhǔn)住?,?CPU.class 的第 8 行:


以上就是開頭那個問題的標(biāo)準(zhǔn)答案了。中小型公司可能會這樣來處理,但是,大型公司基本上不會這樣搞。第一,不會讓你隨便登錄生產(chǎn)服務(wù)器;第二,服務(wù)器太多,這種方式根本管不過來。所以,一般都會有成體系的監(jiān)控平臺。


TOP 命令相關(guān)指標(biāo)


top 命令除了查看 CPU 的使用情況外,還有很多很有用的信息。下面對這些指標(biāo)做一個簡要說明,供參考。


概要信息


當(dāng)然任務(wù)(進程/線程)情況


CPU 資源使用情況


內(nèi)存情況


物理內(nèi)存


swap


進程/線程詳情


面試官:生產(chǎn)環(huán)境中 CPU 利用率飆高怎么辦?的評論 (共 條)

分享到微博請遵守國家法律
固原市| 呼伦贝尔市| 沅陵县| 伊金霍洛旗| 育儿| 和政县| 玛多县| 昆明市| 白银市| 镇巴县| 丹凤县| 江孜县| 佛冈县| 江北区| 广宁县| 渭源县| 晋宁县| 上饶县| 梅河口市| 绥棱县| 封开县| 略阳县| 四子王旗| 石柱| 巴东县| 新龙县| 郎溪县| 白水县| 福建省| 广元市| 高邮市| 嘉善县| 梁河县| 定远县| 福贡县| 正蓝旗| 庆云县| 眉山市| 社会| 延吉市| 平武县|