五月天青色头像情侣网名,国产亚洲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 利用率飆高怎么辦?的評論 (共 條)

分享到微博請遵守國家法律
苏尼特右旗| 梁平县| 梨树县| 沙河市| 法库县| 银川市| 尼玛县| 平乡县| 阜宁县| 个旧市| 板桥市| 申扎县| 讷河市| 隆尧县| 铜梁县| 万荣县| 阿克陶县| 敦化市| 靖边县| 丹江口市| 伊吾县| 汝南县| 柏乡县| 卢湾区| 香格里拉县| 南乐县| 甘肃省| 会宁县| 南雄市| 宜城市| 昭苏县| 蒙自县| 亚东县| 馆陶县| 高邮市| 日喀则市| 和平县| 平潭县| 鹰潭市| 农安县| 唐山市|