乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      10分鐘教會(huì)你看懂top

       張宏韜 2021-04-22

      來自:掘金,作者:Z.L41753

      圖片

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

      Load Average

      圖片

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

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

      所以,這個(gè)數(shù)值的確能反應(yīng)服務(wù)器的負(fù)載情況。但是,這個(gè)數(shù)值高了也并不能直接代表這臺(tái)機(jī)器的性能有問題??赡苁且?yàn)檎谶M(jìn)行CPU密集型的計(jì)算,也有可能是因?yàn)镮/O問題導(dǎo)致運(yùn)行隊(duì)列堵了。所以,當(dāng)我們看到這個(gè)數(shù)值飆升的時(shí)候,還得具體問題具體分析。直接升級(jí)機(jī)器是簡(jiǎn)單粗暴,但是治標(biāo)不治本。

      top命令一行一行看

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

      第一行:

      top - 20:41:08 up 18 days,  5:24,  2 users,  load average: 0.04, 0.03, 0.05
      top:當(dāng)前時(shí)間up:機(jī)器運(yùn)行了多少時(shí)間users:當(dāng)前有多少用戶load average:分別是過去1分鐘,5分鐘,15分鐘的負(fù)載

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

      第二行:
      Tasks: 216 total,   1 running, 215 sleeping,   0 stopped,   0 zombie
      Tasks:當(dāng)前有多少進(jìn)程running:正在運(yùn)行的進(jìn)程sleeping:正在休眠的進(jìn)程stopped:停止的進(jìn)程zombie:僵尸進(jìn)程
      running越多,服務(wù)器自然壓力越大。
      第三行:
      %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: 用戶進(jìn)程占CPU的使用率sy: 系統(tǒng)進(jìn)程占CPU的使用率ni: 用戶進(jìn)程空間改變過優(yōu)先級(jí)id: 空閑CPU占用率wa: 等待輸入輸出的CPU時(shí)間百分比hi: 硬件的中斷請(qǐng)求si: 軟件的中斷請(qǐng)求st: steal time

      這一行代表了CPU的使用情況,us長(zhǎng)期過高,表明用戶進(jìn)程占用了大量的CPU時(shí)間。us sy如果長(zhǎng)期超過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信息。所有程序的運(yùn)行都是在內(nèi)存中進(jìn)行的,所以內(nèi)存的性能對(duì)與服務(wù)器來說非常重要。不過當(dāng)內(nèi)存的free變少的時(shí)候,其實(shí)我們并不需要太緊張。真正需要看的是Swap中的used信息。Swap分區(qū)是由硬盤提供的交換區(qū),當(dāng)物理內(nèi)存不夠用的時(shí)候,操作系統(tǒng)才會(huì)把暫時(shí)不用的數(shù)據(jù)放到Swap中。所以當(dāng)這個(gè)數(shù)值變高的時(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:進(jìn)程idUSER:進(jìn)程所有者PR:優(yōu)先級(jí)。數(shù)值越大優(yōu)先級(jí)越高NI:nice值,負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí)VIRT:進(jìn)程使用的虛擬內(nèi)存總量SWAP:進(jìn)程使用的虛擬內(nèi)存中被換出的大小RES:進(jìn)程使用的、未被換出的物理內(nèi)存大小SHR:共享內(nèi)存大小SHR:共享內(nèi)存大小S:進(jìn)程狀態(tài)。D表示不可中斷的睡眠狀態(tài);R表示運(yùn)行;S表示睡眠;T表示跟蹤/停止;Z表示僵尸進(jìn)程。%CPU:上次更新到現(xiàn)在的CPU占用百分比 ;%MEM:進(jìn)程使用的物理內(nèi)存百分比 ;TIME :進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒;COMMAND:命令名/命令行

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

      其他命令

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

      綜上

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

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多