<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          10分鐘教會你看懂top

          共 3308字,需瀏覽 7分鐘

           ·

          2021-05-09 13:40

          點擊上方“程序員大白”,選擇“星標”公眾號

          重磅干貨,第一時間送達

          來自:掘金

          作者:Z.L41753

          鏈接:https://juejin.cn/post/6844903919588491278

          后端們最怕的事情之一就是服務器的負載突然飆升,這可能又意味著一個個奪目Call馬上要打過來了。碰到這種情況怎么辦,大家第一反應一定是登陸到服務器上,先敲一個top命令看看Load Average吧。今天這篇文章和大家說說怎么看這個“Load Average”。
          >>>>


          Load Average



          很多人說Load Average這一個指標就能說明系統(tǒng)負載高了,這句話是對的。那么具體是哪里壓力大了呢?這三個數(shù)值是怎么計算出來的呢?可能很多人一下子都說不上來。

          先來說說定義吧:在一段時間內(nèi),CPU正在處理以及等待CPU處理的進程數(shù)之和。三個數(shù)字分別代表了1分鐘,5分鐘,15分鐘的統(tǒng)計值。

          所以,這個數(shù)值的確能反應服務器的負載情況。但是,這個數(shù)值高了也并不能直接代表這臺機器的性能有問題??赡苁且驗檎谶M行CPU密集型的計算,也有可能是因為I/O問題導致運行隊列堵了。所以,當我們看到這個數(shù)值飆升的時候,還得具體問題具體分析。直接升級機器是簡單粗暴,但是治標不治本。

          top命令一行一行看

          top命令輸出了很多參數(shù),真正的服務器負載情況我們要綜合其他參數(shù)一起看。

          第一行:

          top - 20:41:08 up 18 days,  5:24,  2 users,  load average: 0.04, 0.03, 0.05
          top:當前時間up:機器運行了多少時間users:當前有多少用戶load average:分別是過去1分鐘,5分鐘,15分鐘的負載

          具體需要關(guān)注的果然還是load average這三個數(shù)值。大家都知道,一個CPU在一個時間片里面只能運行一個進程,CPU核數(shù)的多少直接影響到這臺機器在同時間能運行的進程數(shù)。所以一般來說Load Average的數(shù)值別超過這臺機器的總核數(shù),就基本沒啥問題。


          第二行:
          Tasks: 216 total,   1 running, 215 sleeping,   0 stopped,   0 zombie
          Tasks:當前有多少進程running:正在運行的進程sleeping:正在休眠的進程stopped:停止的進程zombie:僵尸進程
          running越多,服務器自然壓力越大。
          第三行:
          %Cpu(s):  0.2 us,  0.1 sy,  0.0 ni, 99.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
          us: 用戶進程占CPU的使用率sy: 系統(tǒng)進程占CPU的使用率ni: 用戶進程空間改變過優(yōu)先級id: 空閑CPU占用率wa: 等待輸入輸出的CPU時間百分比hi: 硬件的中斷請求si: 軟件的中斷請求st: steal time

          這一行代表了CPU的使用情況,us長期過高,表明用戶進程占用了大量的CPU時間。us+sy如果長期超過80或者90,可能就代表了CPU性能不足,需要加CPU了。

          第四行&第五行
          KiB Mem : 65810456 total, 30324416 free,  9862224 used, 25623816 buff/cacheKiB Swap:  7999484 total,  7999484 free,        0 used. 54807988 avail Mem
          total:內(nèi)存總量free:空閑內(nèi)存used:使用的buffer/cache:寫緩存/讀緩存
          第四第五行分別是內(nèi)存信息和swap信息。所有程序的運行都是在內(nèi)存中進行的,所以內(nèi)存的性能對與服務器來說非常重要。不過當內(nèi)存的free變少的時候,其實我們并不需要太緊張。真正需要看的是Swap中的used信息。Swap分區(qū)是由硬盤提供的交換區(qū),當物理內(nèi)存不夠用的時候,操作系統(tǒng)才會把暫時不用的數(shù)據(jù)放到Swap中。所以當這個數(shù)值變高的時候,說明內(nèi)存是真的不夠用了。

          第五行往下
            PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                                  19868 root      20   0 19.733g 369980  15180 S   0.7  0.6 129:53.91 java                                                                                                                                                                     19682 root      20   0 19.859g 5.766g  22252 S   0.3  9.2 139:42.81 java                                                                                                                                                                     54625 100       20   0   50868  33512   4104 S   0.3  0.1   0:04.68 fluentd                                                                               
          PID:進程idUSER:進程所有者PR:優(yōu)先級。數(shù)值越大優(yōu)先級越高NI:nice值,負值表示高優(yōu)先級,正值表示低優(yōu)先級VIRT:進程使用的虛擬內(nèi)存總量SWAP:進程使用的虛擬內(nèi)存中被換出的大小RES:進程使用的、未被換出的物理內(nèi)存大小SHR:共享內(nèi)存大小SHR:共享內(nèi)存大小S:進程狀態(tài)。D表示不可中斷的睡眠狀態(tài);R表示運行;S表示睡眠;T表示跟蹤/停止;Z表示僵尸進程。%CPU:上次更新到現(xiàn)在的CPU占用百分比 ;%MEM:進程使用的物理內(nèi)存百分比 ;TIME+:進程使用的CPU時間總計,單位1/100秒;COMMAND:命令名/命令行

          這些就是進程信息了,從這里可以看到哪些進程占用系統(tǒng)資源的概況。


          其他命令


          top當然是我們最常見的查看系統(tǒng)狀況的命令。其他命令還有很多。vmstat,w,uptime ,iostat這些都是常用的命令。


          綜上


          看懂這些具體參數(shù)以后,就知道自己的代碼到底哪方面需要改進了,是優(yōu)化內(nèi)存消耗,還是優(yōu)化你的代碼邏輯,當然無腦堆機器也可以,只要你說服的了老板!






          國產(chǎn)小眾瀏覽器因屏蔽視頻廣告,被索賠100萬(后續(xù))

          年輕人“不講武德”:因看黃片上癮,把網(wǎng)站和786名女主播起訴了

          中國聯(lián)通官網(wǎng)被發(fā)現(xiàn)含木馬腳本,可向用戶推廣色情APP

          張一鳴:每個逆襲的年輕人,都具備的底層能力


          關(guān)


          ,西質(zhì),結(jié),關(guān)[],!


          瀏覽 38
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产av无码婷婷 国产av无码网站 | 亚洲成人影音 | 久久久久亚洲AV成人片乱码 | 色鬼色综合 | 激情视频网站 |