Linux操做系統-命令-top

當咱們在執行性能測試的時候,須要關注nginx

  • 業務性能指標(業務監控)
    • 吞吐量(TPS)
    • 響應時間
      • 平均響應時間
      • 50%用戶響應時間
      • 90%用戶響應時間
      • 標準差      # TPS標準差越小,說明波動越小,系統越穩定;標準差越大,說明波動越大,系統越不穩定
  • 資源使用狀況(系統監控)
    • CPU
      • 高負載(>50%)
      • 滿負載(>70%)
      • 超負載(>90%)
    • MEM
    • 磁盤IO
    • 網絡
    • 其它資源使用率
  • 被測服務日誌
    • nginx的access.log日誌

當咱們在使用top命令的時候,能夠結合如下快捷鍵觀察進程負載緩存

    • 按鍵"M":按照內存佔用率大小的順序,對進程排序  #大寫的M,或者shift+m
    • 按鍵"P":按照CPU佔用率大小的順序,對進程排序   #大寫的P,或者shift+p
  • 按鍵"數字1":顯示本臺服務器的CPU數量,及每一個CPU的狀態  #監控時除了關注總體的CPU繁忙程度,也必須觀察每一個CPU的狀態,看看是否存在「某個CPU負載不均勻」,或者是否存在「少數幾個核達到100%利用率」

概念

Top,display Linux tasks,即:顯示Linux的進程/任務。服務器

在Linux內的一個用法

top網絡

這個命令的意思是:顯示"各個進程的資源佔用狀況"。咱們在作性能測試的過程當中,經常須要用到這個命令來查看服務器的負載狀態。性能

輸出列表內各字段的介紹

第1行

第1行測試

備註spa

16:33:23命令行

當前時間日誌

 

up 5:58blog

系統運行了5小時58分鐘

若是機器運行超過24小時,

那麼左側會出現「n days」

4 users

當前登陸的用戶數

 

Load average

系統負載

三個數值分別是:

1分鐘、5分鐘、15分鐘前至如今的系統負載的平均值

Load average的概念:

它所包含的信息不是CPU的使用率情況,而是指在一段時間內CPU正在處理以及等待CPU處理的進程數之和的統計信息,也就是CPU使用隊列的長度的統計信息

 第2行

第2行 – Tasks

備註

150 total

進程總數 150個

 

1 running

正在運行的進程 1個

 

149 sleeping

睡眠的進程 149個

 

0 stopped

中止的進程

 

0 zombie

殭屍進程

 

第3行

第3行 – Cpu(s)

備註

0.2%us

用戶空間佔用CPU百分比(用戶使用率)

 

0.2%sy

內核空間佔用CPU百分比(系統使用率)

若是過高,表示系統調用時間長,例如是IO操做頻繁

0.0%ni

用戶進程空間內改變過優先級的進程佔用CPU百分比

 

99.6%id

空閒CPU百分比

接近0則表示很是繁忙,

接近100表示很閒

0.0%wa

等待IO的CPU時間百分比

 「進程等待輸入輸出」的時間片比例

0.0%hi

硬中斷

io中斷

0.0%si

軟中斷

網絡中斷

0.0%st

虛擬 CPU 等待實際 CPU 的時間的百分比

全稱:steal time

高 steal 值可能意味着主機供應商在服務器上過量地出售虛擬機。若是升級了虛擬機, steal 值仍是不降的話,你應該尋找另外一家服務供應商。

低 steal 值意味着你的應用程序在目前的虛擬機上運做良好。由於你的虛擬機不會常常地爲了 CPU 時間與其它虛擬機激烈競爭,你的虛擬機會更快地響應。這一點也暗示了,你的主機供應商沒有過量地出售虛擬服務,絕對是一件好事情。

第4行

第4行 – Mem

備註

2061556 k  total

物理內存總量

 

1626384 k  used

使用的物理內存總量

 

435172 k   free

空閒的內存總量

 

56504 k    buffers

用做內核緩衝的內存量

"Buffer"被稱爲"緩衝"

 "Buffer是數據即將被寫入磁盤,把數據完整地存起來"

第5行

第5行 – Swap

備註

0k total

交換區總量

 

0k used

使用的交換區總量

 

0k free

空閒交換區總量

 

173428k cached

緩存的交換區總量

"Cache"被稱爲"緩存"

"Cache是數據被從磁盤中讀出來的,等着被用"

所謂的第6行

第6行 – 進程信息

備註

PID

進程ID

PPID:父進程id

USER

進程全部者的用戶名

UID:進程全部者的用戶id

PR

優先級

 

NI

nice值

負值表示高優先級,

正值表示低優先級

VIRT

進程使用的虛擬內存總量,單位kb

VIRT=SWAP+RES

RES

進程使用的、未被換出的物理內存大小,單位kb

RES=CODE+DATA

SHR

共享內存大小,單位kb

 

S

進程狀態

D=不可中斷的睡眠狀態

R=運行
S=睡眠
T=跟蹤/中止
Z=殭屍進程

%CPU

上次更新到如今的CPU時間佔用百分比

 

%MEM

進程使用的物理內存百分比

 

TIME+

進程使用的CPU時間總計,單位1/100秒

 

COMMAND

進程名稱

 命令名/命令行

相關文章
相關標籤/搜索