這部技術(shù)葵花寶典真的很硬核

【這是一猿小講的第?35?篇原創(chuàng)分享】

你有沒有經(jīng)歷過:一大早就被瘋狂的報警炸醒,由于線上應(yīng)用 CPU 占用率過高 ......

你有沒有經(jīng)歷過:剛到公司酸役,板凳還沒有捂熱,收件箱里卻一堆的客服投訴郵件驾胆,需要你排查日志定位問題?......?

你有沒有經(jīng)歷過:下班的鐘聲即將敲響簇捍,但是你還要加班,進(jìn)行統(tǒng)計應(yīng)用每秒俏拱、每分鐘的峰值等各個指標(biāo) 暑塑,由于 BOSS 要拿這些指標(biāo),在明天的技術(shù)大會上對外吹牛?......

你有沒有經(jīng)歷過:深夜正在酣眠锅必,值班的運(yùn)維瘋狂給你打 CALL事格,由于線上應(yīng)用內(nèi)存出現(xiàn)了問題?......

我敢保證上面的場景,大概率你都經(jīng)歷過搞隐。講真驹愚,其實無論你是否經(jīng)歷過,今天你都算來著啦劣纲。因為我將要結(jié)合以往的經(jīng)歷總結(jié)逢捺,在猿門開壇設(shè)法,掏出葵花寶典施展一二癞季。

水滴石穿非一日之功劫瞳,冰凍三尺非一日之寒,羅馬并非一日建成的绷柒,經(jīng)驗也并非一坑而促成的志于,防狼有術(shù),我們先從全局废睦,看一看這部技術(shù)寶典(看不清沒關(guān)系伺绽,感覺到很牛掰就行)。


這部技術(shù)寶典真的很硬核,主要分四大招奈应,見招拆招澜掩,讓我們一一進(jìn)行拆解。

第?1?招:線上應(yīng)用占用 CPU 過高杖挣。


拆~招:

采用 top 命令肩榕,找出 CPU 占用最高的進(jìn)程 PID;

通過 ps -ef | grep PID 查看對應(yīng)的應(yīng)用程梦,看看是誰在作祟点把;

采用 jstack -l? PID >> PID.log 獲取進(jìn)程的堆棧信息;

采用 ps -mp PID -o THREAD,tid,time 拿到占用 CPU 最高的線程 tid屿附;

采用 printf "%x\n" tid 獲取 16 進(jìn)制的線程 TID郎逃;

采用 grep TID -A20 PID.log 確定是線程哪兒出了問題。

最~后:腿疼醫(yī)腿挺份,辨癥施治褒翰,對癥下藥。找準(zhǔn)代碼位置匀泊,進(jìn)行調(diào)整代碼优训。

第?2?招:線上應(yīng)用內(nèi)存溢出。


拆~招:

采用 top 命令各聘,找出應(yīng)用對應(yīng)的 PID揣非;

采用 jmap -heap PID 確認(rèn)一下分配的內(nèi)存少不少;

采用 jmap -histo:live PID | more 找出分析最耗內(nèi)存的對象【留意占用多少G的對象】躲因;

采用 ps -efL | grep PID | wc -l 查看進(jìn)程創(chuàng)建的線程數(shù)早敬;

采用 ll /proc/PID/task | wc -l 也可以查看進(jìn)程創(chuàng)建的線程數(shù);

采用?netstat?-apn?|?grep?PID?|?wc -l 查看進(jìn)程網(wǎng)絡(luò)連接數(shù)大脉。

最~后:腿疼醫(yī)腿搞监,辨癥施治,對癥下藥镰矿。

a. 如果內(nèi)存分配確實小琐驴,適當(dāng)調(diào)整內(nèi)存;

b. 對象被頻繁創(chuàng)建秤标,且不釋放绝淡,優(yōu)化代碼;

c. 不斷創(chuàng)建線程或者不斷進(jìn)行網(wǎng)絡(luò)連接抛杨,優(yōu)化代碼够委。

第?3?招:排查業(yè)務(wù)問題。


拆~招:

采用 tail -fn 200 log_file 實時查詢線上日志怖现;

找準(zhǔn)日志搜所關(guān)鍵字keyWord,例如 orderId、mobileId屈嗤、reqId 等潘拨;

采用 grep keyWord log_file 查詢關(guān)鍵字所在的行的日志;

采用 grep -C n keyWord log_file 匹配關(guān)鍵字所在行的上下 n 行饶号;

采用 grep keyWord log_file | wc -l 匹配關(guān)鍵字的的行數(shù)有多少铁追。

最~后:根據(jù)實際排查日志場景進(jìn)行日志搜索 tail 、grep 用的最多茫船。

第?4?招:BOSS 的統(tǒng)計問題琅束。


拆~招:

采用 cat log_file 讀取日志文件;

采用 cut 命令截取出日志的時間戳算谈;

若按照秒統(tǒng)計截取到秒涩禀;若按照分鐘統(tǒng)計截取到分鐘;

采用 uniq -c 進(jìn)行去重統(tǒng)計然眼;

采用 sort -nr 按照第一列的數(shù)值大小進(jìn)行倒序艾船;

采用 head -1 只顯示第一行內(nèi)容。

最~后:統(tǒng)計問題迎刃而解高每,那么統(tǒng)計每秒峰值的命令該如何寫呢屿岂?

例如日志:?

1118?115856?066?-?REQID0000000000188?...?...

命令組合:

SecondPeak=`cat log_file|cut -d, -f1| cut -c 1-11|sort|uniq -c |sort -nr|head -1`

好了,今天的分享接近尾聲鲸匿,不知道你 get 到多少爷怀,懂與不懂,都建議你收藏带欢,以備不時之需运授;如果想讓更多人進(jìn)步,那不妨發(fā)揚(yáng)一下分享的精神洪囤,動動你的手指放肆的轉(zhuǎn)發(fā)一下徒坡。

歡迎關(guān)注微信公眾號“一猿小講”了解更多精彩分享。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瘤缩,一起剝皮案震驚了整個濱河市喇完,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌剥啤,老刑警劉巖锦溪,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異府怯,居然都是意外死亡刻诊,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進(jìn)店門牺丙,熙熙樓的掌柜王于貴愁眉苦臉地迎上來则涯,“玉大人复局,你說我怎么就攤上這事∷谂校” “怎么了亿昏?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長档礁。 經(jīng)常有香客問我角钩,道長,這世上最難降的妖魔是什么呻澜? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任递礼,我火速辦了婚禮,結(jié)果婚禮上羹幸,老公的妹妹穿的比我還像新娘脊髓。我一直安慰自己,他們只是感情好睹欲,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布供炼。 她就那樣靜靜地躺著,像睡著了一般窘疮。 火紅的嫁衣襯著肌膚如雪袋哼。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天闸衫,我揣著相機(jī)與錄音涛贯,去河邊找鬼。 笑死蔚出,一個胖子當(dāng)著我的面吹牛弟翘,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播骄酗,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼稀余,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了趋翻?” 一聲冷哼從身側(cè)響起睛琳,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎踏烙,沒想到半個月后师骗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡讨惩,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年辟癌,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片荐捻。...
    茶點(diǎn)故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡黍少,死狀恐怖寡夹,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情仍侥,我是刑警寧澤要出,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布鸳君,位于F島的核電站农渊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏或颊。R本人自食惡果不足惜砸紊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望囱挑。 院中可真熱鬧醉顽,春花似錦、人聲如沸平挑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽通熄。三九已至唆涝,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間唇辨,已是汗流浹背廊酣。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留赏枚,地道東北人亡驰。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像饿幅,于是被迫代替她去往敵國和親凡辱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 系統(tǒng)巡檢腳本:Version 2016.08.09 ############################ 系統(tǒng)...
    NamasAmitabha閱讀 1,328評論 0 0
  • 如果你想知道你的服務(wù)器正在做干什么栗恩,你就需要了解一些基本的命令透乾,一旦你精通了這些命令,那你就是一個專業(yè)的 Linu...
    七寸知架構(gòu)閱讀 10,877評論 1 71
  • 一摄凡、架構(gòu)設(shè)計及環(huán)境規(guī)劃: 架構(gòu)設(shè)計圖: 架構(gòu)設(shè)計說明: 1. 基礎(chǔ)架構(gòu)為LAMP環(huán)境续徽,采用keepalived實現(xiàn)...
    Bogon閱讀 10,570評論 0 10
  • 第1章 小試牛刀 $ 是普通用戶,# 表示管理員用戶 root亲澡。 shebang:#!钦扭。sharp / hash ...
    巴喬書摘閱讀 6,349評論 1 4
  • 親愛的,昨天跟兒子講了一個我們學(xué)校的故事床绪。就是吳振忠打了一個學(xué)生六巴掌客情,然后他其弊,父母鬧到學(xué)校來,前天晚上10點(diǎn)多都...
    駿駿媽阿靜閱讀 105評論 0 0