2019年Java大廠面試題講解(周陽) 之Linux診斷原因(面試加分項)

      網(wǎng)友投稿 795 2025-03-31

      Linux診斷原因

      前言

      命令集合

      整機:top,查看整機系統(tǒng)新能

      CPU:vmstat

      內(nèi)存:free

      硬盤:df

      網(wǎng)絡IO:ifstat

      生產(chǎn)環(huán)境服務器變慢,診斷思路和性能評估

      總結(jié)

      前言

      在招聘Java開發(fā)工程師的時候,在招聘要求上的最后總會看到熟練使用Linux優(yōu)先等字樣。隨著就業(yè)壓力越來越大,對Java工程師的要求也相對的越來越高。會Linux操作可能成了我們程序員的必備技能。

      命令集合

      整機:top,查看整機系統(tǒng)新能

      使用top命令的話,重點關注的是 %CPU、%MEM 、load average 三個指標

      在這個命令下,按1的話,可以看到每個CPU的占用情況

      2019年Java大廠面試題講解(周陽) 之Linux診斷原因(面試加分項)

      uptime:系統(tǒng)性能命令的精簡版

      CPU:vmstat

      查看CPU(包含但是不限于)

      查看額外

      查看所有CPU核信息:mpstat -p ALL 2

      每個進程使用CPU的用量分解信息:pidstat -u 1 -p 進程編號

      命令格式:vmstat -n 2 3

      一般vmstat工具的使用是通過兩個數(shù)字參數(shù)來完成的,第一個參數(shù)是殘陽的時間間隔數(shù)(單位秒),第二個參數(shù)是采樣的次數(shù)

      procs

      r:運行和等待的CPU時間片的進程數(shù),原則上1核的CPU的運行隊列不要超過2,整個系統(tǒng)的運行隊列不超過總核數(shù)的2倍,否則代表系統(tǒng)壓力過大,我們看蘑菇博客測試服務器,能發(fā)現(xiàn)都超過了2,說明現(xiàn)在壓力過大

      b:等待資源的進程數(shù),比如正在等待磁盤I/O、網(wǎng)絡I/O等

      cpu

      us:用戶進程消耗CPU時間百分比,us值高,用戶進程消耗CPU時間多,如果長期大于50%,優(yōu)化程序

      sy:內(nèi)核進程消耗的CPU時間百分比

      us + sy 參考值為80%,如果us + sy 大于80%,說明可能存在CPU不足,從上面的圖片可以看出,us + sy還沒有超過百分80,因此說明蘑菇博客的CPU消耗不是很高

      id:處于空閑的CPU百分比

      wa:系統(tǒng)等待IO的CPU時間百分比

      st:來自于一個虛擬機偷取的CPU時間比

      內(nèi)存:free

      應用程序可用內(nèi)存數(shù):free -m

      應用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存 > 70% 內(nèi)存充足

      應用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存 < 20% 內(nèi)存不足,需要增加內(nèi)存

      20% < 應用程序可用內(nèi)存/系統(tǒng)物理內(nèi)存 < 70%,表示內(nèi)存基本夠用

      free -h:以人類能看懂的方式查看物理內(nèi)存

      free -m:以MB為單位,查看物理內(nèi)存

      free -g:以GB為單位,查看物理內(nèi)存

      硬盤:df

      格式:df -h / (-h:human,表示以人類能看到的方式換算)

      硬盤IO:iostat

      系統(tǒng)慢有兩種原因引起的,一個是CPU高,一個是大量IO操作

      格式:iostat -xdk 2 3

      磁盤塊設備分布:

      rkB /s:每秒讀取數(shù)據(jù)量kB;

      wkB/s:每秒寫入數(shù)據(jù)量kB;

      svctm I/O:請求的平均服務時間,單位毫秒

      await I/O:請求的平均等待時間,單位毫秒,值越小,性能越好

      util:一秒鐘有百分幾的時間用于I/O操作。接近100%時,表示磁盤帶寬跑滿,需要優(yōu)化程序或者增加磁盤;

      rkB/s,wkB/s根據(jù)系統(tǒng)應用不同會有不同的值,但有規(guī)律遵循:長期、超大數(shù)據(jù)讀寫,肯定不正常,需要優(yōu)化程序讀取。

      svctm的值與await的值很接近,表示幾乎沒有I/O等待,磁盤性能好,如果await的值遠高于svctm的值,則表示I/O隊列等待太長,需要優(yōu)化程序或更換更快磁盤

      網(wǎng)絡IO:ifstat

      默認本地沒有,下載ifstat

      生產(chǎn)環(huán)境服務器變慢,診斷思路和性能評估

      記一次印象深刻的故障?

      結(jié)合Linux 和 JDK命令一起分析,步驟如下

      使用top命令找出CPU占比最高的

      ps -ef 或者 jps 進一步定位,得知是一個怎么樣的后臺程序出的問題

      定位到具體線程或者代碼

      ps -mp 進程 -o THREAD,tid,time

      參數(shù)解釋

      -m:顯示所有的線程

      -p:pid進程使用CPU的時間

      -o:該參數(shù)后是用戶自定義格式

      將需要的線程ID轉(zhuǎn)換為16進制格式(英文小寫格式)

      printf “%x\n” 有問題的線程ID

      jstack 進程ID | grep tid(16進制線程ID小寫英文) -A60

      精準定位到錯誤的地方

      jwu-1601425790533)]

      將需要的線程ID轉(zhuǎn)換為16進制格式(英文小寫格式)

      printf “%x\n” 有問題的線程ID

      jstack 進程ID | grep tid(16進制線程ID小寫英文) -A60

      精準定位到錯誤的地方

      總結(jié)

      點點關注不迷路,后面有更多更好的知識分享給大家。

      Java Linux

      版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。

      版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。

      上一篇:excel圖表制作:繪制溫度計圖來跟蹤進度
      下一篇:電子表格內(nèi)如何換行(電子表格如何換行文字)
      相關文章
      亚洲最大天堂无码精品区| 国产综合亚洲专区在线| 亚洲欧洲精品成人久久曰影片| 亚洲一区二区三区免费在线观看| 亚洲福利视频一区| 亚洲成AV人片在WWW色猫咪| 亚洲AV无码一区二三区| 国产成人亚洲精品无码AV大片| 国产AV旡码专区亚洲AV苍井空| 亚洲人成人77777网站不卡| 亚洲国产精品日韩在线观看| 亚洲三级电影网站| 亚洲国产成人精品不卡青青草原| 国产AV无码专区亚洲AVJULIA| 亚洲色爱图小说专区| 国产亚洲精品精品精品| 亚洲AV成人片色在线观看| 国产亚洲精品成人a v小说| 国产精品亚洲精品爽爽| 亚洲色欲色欲www| 亚洲综合色丁香婷婷六月图片| va天堂va亚洲va影视中文字幕| 亚洲国产成人久久| 亚洲Av无码一区二区二三区| 亚洲一级毛片免费看| 四虎亚洲精品高清在线观看| 亚洲色大成网站www| 亚洲精品乱码久久久久久V| 国产亚洲精品自在线观看| 亚洲国产成人VA在线观看| 久久被窝电影亚洲爽爽爽 | 国产天堂亚洲国产碰碰| 亚洲欧美国产日韩av野草社区| 亚洲精品女同中文字幕| 国产亚洲视频在线| 久久乐国产精品亚洲综合| 亚洲中文字幕一二三四区苍井空| 亚洲精品在线网站| 色婷五月综激情亚洲综合| 全亚洲最新黄色特级网站| 亚洲男人的天堂www|