成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

系統(tǒng) Linux
后端們最怕的事情之一就是服務(wù)器的負(fù)載突然飆升,這可能又意味著一個(gè)個(gè)奪目Call馬上要打過(guò)來(lái)了。碰到這種情況怎么辦,大家第一反應(yīng)一定是登陸到服務(wù)器上,先敲一個(gè)top命令看看Load Average吧。

[[395231]]

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

>>>>

Load Average

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

先來(lái)說(shuō)說(shuō)定義吧:在一段時(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ī)器的性能有問(wèn)題。可能是因?yàn)檎谶M(jìn)行CPU密集型的計(jì)算,也有可能是因?yàn)镮/O問(wèn)題導(dǎo)致運(yùn)行隊(duì)列堵了。所以,當(dāng)我們看到這個(gè)數(shù)值飆升的時(shí)候,還得具體問(wèn)題具體分析。直接升級(jí)機(jī)器是簡(jiǎn)單粗暴,但是治標(biāo)不治本。

top命令一行一行看

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

第一行: 

  1. top - 20:41:08 up 18 days,  5:24,  2 users,  load average: 0.04, 0.03, 0.05  
  2. top:當(dāng)前時(shí)間  
  3. up:機(jī)器運(yùn)行了多少時(shí)間  
  4. users:當(dāng)前有多少用戶  
  5. load average:分別是過(guò)去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ù)。所以一般來(lái)說(shuō)Load Average的數(shù)值別超過(guò)這臺(tái)機(jī)器的總核數(shù),就基本沒(méi)啥問(wèn)題。

第二行: 

  1. Tasks: 216 total,   1 running, 215 sleeping,   0 stopped,   0 zombie  
  2. Tasks:當(dāng)前有多少進(jìn)程  
  3. running:正在運(yùn)行的進(jìn)程  
  4. sleeping:正在休眠的進(jìn)程  
  5. stopped:停止的進(jìn)程  
  6. zombie:僵尸進(jìn)程 

running越多,服務(wù)器自然壓力越大。

第三行: 

  1. %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  
  2. us: 用戶進(jìn)程占CPU的使用率  
  3. sy: 系統(tǒng)進(jìn)程占CPU的使用率  
  4. ni: 用戶進(jìn)程空間改變過(guò)優(yōu)先級(jí)  
  5. id: 空閑CPU占用率  
  6. wa: 等待輸入輸出的CPU時(shí)間百分比  
  7. hi: 硬件的中斷請(qǐng)求  
  8. si: 軟件的中斷請(qǐng)求  
  9. st: steal time 

這一行代表了CPU的使用情況,us長(zhǎng)期過(guò)高,表明用戶進(jìn)程占用了大量的CPU時(shí)間。us+sy如果長(zhǎng)期超過(guò)80或者90,可能就代表了CPU性能不足,需要加CPU了。

第四行&第五行 

  1. KiB Mem : 65810456 total, 30324416 free,  9862224 used, 25623816 buff/cache  
  2. KiB Swap:  7999484 total,  7999484 free,        0 used. 54807988 avail Mem  
  3. total:內(nèi)存總量  
  4. free:空閑內(nèi)存  
  5. used:使用的  
  6. buffer/cache:寫緩存/讀緩存 

第四第五行分別是內(nèi)存信息和swap信息。所有程序的運(yùn)行都是在內(nèi)存中進(jìn)行的,所以內(nèi)存的性能對(duì)與服務(wù)器來(lái)說(shuō)非常重要。不過(guò)當(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í)候,說(shuō)明內(nèi)存是真的不夠用了。

第五行往下 

  1. PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                                                                                                                                                  
  2.  19868 root      20   0 19.733g 369980  15180 S   0.7  0.6 129:53.91 java                                                                                                                                                                     
  3.  19682 root      20   0 19.859g 5.766g  22252 S   0.3  9.2 139:42.81 java                                                                                                                                                                    
  4.  54625 100       20   0   50868  33512   4104 S   0.3  0.1   0:04.68 fluentd                                                                           
  5.  PID:進(jìn)程id  
  6. USER:進(jìn)程所有者  
  7. PR:優(yōu)先級(jí)。數(shù)值越大優(yōu)先級(jí)越高  
  8. NI:nice值,負(fù)值表示高優(yōu)先級(jí),正值表示低優(yōu)先級(jí)  
  9. VIRT:進(jìn)程使用的虛擬內(nèi)存總量  
  10. SWAP:進(jìn)程使用的虛擬內(nèi)存中被換出的大小  
  11. RES:進(jìn)程使用的、未被換出的物理內(nèi)存大小  
  12. SHR:共享內(nèi)存大小  
  13. SHR:共享內(nèi)存大小  
  14. S:進(jìn)程狀態(tài)。D表示不可中斷的睡眠狀態(tài);R表示運(yùn)行;S表示睡眠;T表示跟蹤/停止;Z表示僵尸進(jìn)程。  
  15. %CPU:上次更新到現(xiàn)在的CPU占用百分比 ;  
  16. %MEM:進(jìn)程使用的物理內(nèi)存百分比 ;  
  17. TIME+:進(jìn)程使用的CPU時(shí)間總計(jì),單位1/100秒;  
  18. 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)然無(wú)腦堆機(jī)器也可以,只要你說(shuō)服的了老板! 

 

責(zé)任編輯:龐桂玉 來(lái)源: Linux學(xué)習(xí)
相關(guān)推薦

2009-11-25 09:02:12

2020-10-29 08:28:42

Java NIO異步非阻塞

2022-03-18 15:41:29

原子化服務(wù)HarmonyOS鴻蒙

2011-06-12 18:30:07

投影機(jī)技巧

2017-04-25 12:07:51

AndroidWebViewjs

2020-09-14 11:30:26

HTTP3運(yùn)維互聯(lián)網(wǎng)

2020-11-10 09:01:52

DPDK網(wǎng)絡(luò)監(jiān)控

2020-05-21 19:46:19

區(qū)塊鏈數(shù)字貨幣比特幣

2021-11-08 18:37:45

MySQL解碼測(cè)試

2020-11-06 08:54:43

Vue 3.0函數(shù)代碼

2021-07-15 06:43:11

Bash調(diào)試腳本

2018-08-30 14:31:28

Linux磁盤LVM

2024-08-30 08:50:00

2021-04-20 13:59:37

云計(jì)算

2020-06-30 10:45:28

Web開發(fā)工具

2013-09-13 14:08:01

2020-10-13 18:22:58

DevOps工具開發(fā)

2014-08-08 09:30:04

android scrollview

2020-06-11 08:04:12

WDMDWDMMWDM

2020-06-29 07:42:20

邊緣計(jì)算云計(jì)算技術(shù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 黄色免费av | 成人免费在线视频 | 免费午夜视频 | 麻豆hd | 国产精品高潮呻吟久久 | 啪啪免费网 | 影视先锋av资源噜噜 | 91精品久久久 | 国产精品视频免费观看 | 久久久人成影片一区二区三区 | 国产一级片网站 | 国产超碰人人爽人人做人人爱 | japanhdxxxx裸体 | 成人在线视频一区 | av在线播放一区二区 | 亚洲成人久久久 | 毛片大全 | 天天噜天天干 | 午夜黄色| 国产最新精品视频 | 免费看91 | 日韩国产欧美 | a级片在线 | 亚洲一区二区三区四区五区午夜 | 久久草在线视频 | 在线视频 亚洲 | 国产成人免费在线 | 久久久精品一区 | 日韩一级 | 日韩电影在线 | 国产激情精品一区二区三区 | 久视频在线观看 | 中文字幕在线一区二区三区 | 九九热在线视频 | 伊人欧美视频 | 黄色网址在线免费观看 | 精久久久 | 欧美日韩精品中文字幕 | 浴室洗澡偷拍一区二区 | 久久精品国产一区二区三区不卡 | 欧美成人a∨高清免费观看 欧美日韩中 |