搜尋
首頁php教程PHP开发linux指令:top指令

linux指令:top指令

Dec 13, 2016 am 11:59 AM

top指令是Linux下常用的效能分析工具,能夠即時顯示系統中各個行程的資源佔用狀況,類似Windows的任務管理器。下面詳細介紹它的使用方法。 top是一個動態顯示過程,即可以透過使用者按鍵來不斷刷新當前狀態.如果在前台執行該命令,它將獨佔前台,直到使用者終止該程式為止.比較準確的說,top命令提供了即時的對系統處理器的狀態監視.它將顯示系統中CPU最“敏感”的任務列表.該命令可以按CPU使用.內存使用和執行時間對任務進行排序;而且該命令的很多特性都可以通過交互式命令或者在個人定製文件中進行設定.

1.指令格式:

top [參數]

2.命令功能:

顯示當前系統正在執行的進程的相關信息,包括進程ID、內存佔用率、CPU佔用率等

3.指令參數:

-b 批次

-c 顯示完整的治命令

-I 忽略失效流程

-s 保密模式

-S 模式u 指定使用者名稱

-p 指定行程

-n 循環顯示的次數

4.使用實例:


實例1:顯示進程資訊

指令:

top

輸出:

[root@TG1704 log]# top
top - 14:06:23 up 70 days, 16:44,  2 users,  load average: 1.25, 1.32, 1.35
Tasks: 206 total,   1 running, 205 sleeping,   0 stopped,   0 zombie
Cpu(s):  5.9%us,  3.4%sy,  0.0%ni, 90.4%id,  0.0%wa,  0.0%hi,  0.2%si,  0.0%st
Mem:  32949016k total, 14411180k used, 18537836k free,   169884k buffers
Swap: 32764556k total,        0k used, 32764556k free,  3612636k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                
28894 root      22   0 1501m 405m  10m S 52.2  1.3   2534:16 java                                                                   
18249 root      18   0 3201m 1.9g  11m S 35.9  6.0 569:39.41 java                                                                   
 2808 root      25   0 3333m 1.0g  11m S 24.3  3.1 526:51.85 java                                                                   
25668 root      23   0 3180m 704m  11m S 14.0  2.2 360:44.53 java                                                                   
  574 root      25   0 3168m 611m  10m S 12.6  1.9 556:59.63 java                                                                   
 1599 root      20   0 3237m 1.9g  11m S 12.3  6.2 262:01.14 java                                                                   
 1008 root      21   0 3147m 842m  10m S  0.3  2.6   4:31.08 java                                                                   
13823 root      23   0 3031m 2.1g  10m S  0.3  6.8 176:57.34 java                                                                   
28218 root      15   0 12760 1168  808 R  0.3  0.0   0:01.43 top                                                                    
29062 root      20   0 1241m 227m  10m S  0.3  0.7   2:07.32 java                                                                   
    1 root      15   0 10368  684  572 S  0.0  0.0   1:30.85 init                                                                   
    2 root      RT  -5     0    0    0 S  0.0  0.0   0:01.01 migration/0                                                            
    3 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/0                                                            
    4 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/0                                                             
    5 root      RT  -5     0    0    0 S  0.0  0.0   0:00.80 migration/1                                                            
    6 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/1                                                            
    7 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/1                                                             
    8 root      RT  -5     0    0    0 S  0.0  0.0   0:20.59 migration/2                                                            
    9 root      34  19     0    0    0 S  0.0  0.0   0:00.09 ksoftirqd/2                                                            
   10 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/2                                                             
   11 root      RT  -5     0    0    0 S  0.0  0.0   0:23.66 migration/3                                                            
   12 root      34  19     0    0    0 S  0.0  0.0   0:00.03 ksoftirqd/3                                                            
   13 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/3                                                             
   14 root      RT  -5     0    0    0 S  0.0  0.0   0:20.29 migration/4                                                            
   15 root      34  19     0    0    0 S  0.0  0.0   0:00.07 ksoftirqd/4                                                            
   16 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/4                                                             
   17 root      RT  -5     0    0    0 S  0.0  0.0   0:23.07 migration/5                                                            
   18 root      34  19     0    0    0 S  0.0  0.0   0:00.07 ksoftirqd/5                                                            
   19 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/5                                                             
   20 root      RT  -5     0    0    0 S  0.0  0.0   0:17.16 migration/6                                                            
   21 root      34  19     0    0    0 S  0.0  0.0   0:00.05 ksoftirqd/6                                                            
   22 root      RT  -5     0    0    0 S  0.0  0.0   0:00.00 watchdog/6                                                             
   23 root      RT  -5     0    0    0 S  0.0  0.0   0:58.28 migration/7

說明:

統計資訊區:

前五行是目前前五行是當前系統情況整體的統計資料區。下面我們來看每一行資訊的具體意義。

第一行,任務佇列信息,同 uptime 指令的執行結果,具體參數說明情況如下:

14:06:23 — 當前系統時間

up 70 days, 16:445 16小時44分鐘(在此期間系統沒有重啟過的吆!)

2 users — 目前有2個使用者登入系統

load average: 1.15, 1.42, 1.44 average: 1.15, 1.42, 1.44 average: 1.15, 1.42, 1.44 average: 1.15, 1.42, 1.44 average: 1.15, 1.42, 1.44 average: 1.15, 、5分鐘、15分鐘的負載狀況。

load average資料是每隔5秒鐘檢查一次活躍的進程數,然後按特定演算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表示系統在超負荷運轉了。

第二行,Tasks — 任務(進程),具體資訊說明如下:

系統現在共有206個進程,其中處於運作中的有1個,205個在休眠(sleep),stoped狀態的有0個,zombie狀態(殭屍)的有0個。

第三行,cpu狀態訊息,具體屬性說明如下:

5.9%us — 用戶空間佔用CPU的百分比。

3.4% sy — 核心空間佔用CPU的百分比。

0.0% ni — 改變優先權的程序佔用CPU的百分比

90.4% id — 空閒CPU百分比

0.0% wa CPU的百分比

0.2% si — 軟中斷(Software Interrupts)佔用CPU的百分比

備註:在這裡CPU的使用比率和windows概念不同,需要理解linux系統用戶空間和核心空間的相關知識!

第四行,記憶體狀態,詳情如下:

32949016k total — 物理記憶體總量(32GB)

14411180k used — 使用中的記憶體總量(14411180k used — 使用中的記憶體總量(14411180k used — 183835030303003000000000003GB)0%1853030303030030003000000000084440000003400300000000000000%:塔值: 18GB )

169884k buffers — 緩存的內存量 (169M)

第五行,swap交換分區信息,具體信息說明如下:

32764556k total 量(0K)

32764556k free — 空閒交換區總量(32GB)

3612636k cached — 緩衝的交換區總量(3.6GB)

量(used)指的是現在系統內核控制的記憶體數,空閒記憶體總量(free)是核心還未納入其管控範圍的數量。納入內核管理的內存不見得都在使用中,還包括過去使用過的現在可以被重複利用的內存,內核並不把這些可被重新使用的內存交還到free中去,因此在linux上free內存會越來越少,但不用為此擔心。

如果出於習慣去計算可用內存數,這裡有個近似的計算公式:第四行的free + 第四行的buffers + 第五行的cached,按這個公式此台伺服器的可用內存:18537836k +169884k +3612636k = 22GB左右。


對於記憶體監控,在top裡我們要時時監控第五行swap交換分區的used,如果這個數值在不斷的變化,說明核心在不斷進行記憶體和swap的資料交換,這是真正的記憶體不夠用了。

第六行,空白行。

第七行以下:各進程(任務)的狀態監控,項目列資訊說明如下:

PID — 進程id

USER — 進程擁有者

PR — 進程。負值表示高優先權,正值表示低優先權

VIRT — 進程使用的虛擬記憶體總量,單位kb。 VIRT=SWAP+RES

RES — 進程使用的、未被換出的實體記憶體大小,單位kb。 RES=CODE+DATA

SHR — 共享記憶體大小,單位kb

S — 進程狀態。 D=無法中斷的睡眠狀態 R=運作 S=睡眠 T=追蹤/停止 Z=殭屍行程

%CPU — 上次更新至現在的CPU時間佔用百分比

%MEM — 進程所使用的實體記憶體百分比

%MEM — 進程所使用的實體記憶體百分比

%MEM — 進程所使用的實體記憶體百分比


%MEM — 進程所使用的實體記憶體百分比

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

COMMAND — 進程名稱(命令名稱/命令列)

linux指令:top指令其他使用技巧:

1.多核心CPUpD視圖中,按鍵盤數字“1”,可監控每個邏輯CPU的狀況:

觀察上圖,伺服器有16個邏輯CPU,實際上是4個實體CPU。再按數字鍵1,就會回到top基本視圖介面。

linux指令:top指令2.高亮顯示目前運行進程

敲擊鍵盤「b」(開啟/關閉加亮效果),top的視圖變化如下:

我們發現進程id為2570的「top」進程被加亮了,top進程就是視圖第二行顯示的唯一的運行態(runing)的那個進程,可以透過敲擊「y」鍵關閉或開啟運行態進程的加亮效果。

linux指令:top指令3.進程欄位排序

預設進入top時,各進程是依照CPU的佔用量來排序的,在下圖中進程ID為28894的java進程排在第一(cpu佔用142%),進程ID為574的java進程排在第二(cpu佔用16%)。

linux指令:top指令

  敲擊鍵盤「x」(開啟/關閉排序列的加亮效果),top的視圖變化如下:


可以看到,top預設的排序列是「%CPU」。

linux指令:top指令4. 通過”shift + >”或”shift + 

下圖是按一次”shift + >”的效果圖,

下圖是按一次”shift + >”的效果圖,3,%MEM來視圖排序。

實例2:顯示 完整指令

指令:linux指令:top指令

top -c

輸出:


模式實例說明:3

輸出:

模式實例命令:

top -b

輸出:


說明:

實例4:以累積模式顯示程式資訊

實例5:設定資訊更新次數

指令:

  top -n 2

輸出:

說明:

表示更新兩次後終止更新顯示

說明

top -d 3

輸出:

說明:


表示更新週期為3秒

實例7:顯示指定的進程資訊

說明:

     5.top互動指令


在top 指令執行過程中可以使用的一些互動指令。這些命令都是單字母的,如果在命令列中使用了s 選項, 其中一些命令可能會被封鎖。

h 顯示幫助畫面,給予一些簡短的命令總結說明

k 終止一個流程。

i 忽略閒置和僵死進程。這是一個開關式命令。

q 退出程序linux指令:top指令

r 重新安排一個程序的優先級

S 切換到累計模式

s 改變兩次刷新之間的延遲時間(單位為s),如果有小數,就換算成m s。輸入0值則係統將不斷刷新,預設值是5 s


f或F 從目前顯示中新增或刪除項目

o或O 改變顯示項目的順序

l 切換顯示平均負載和啟動時間資訊

l 切換顯示平均負載和啟動時間資訊

l 切換顯示平均負載和啟動時間資訊

m 切換顯示記憶體資訊

t 切換顯示進程與CPU狀態資訊

c 切換顯示指令名稱和完整命令列

M 依照駐留記憶體大小進行排序

P 依照CPU使用百分比大小排序

T 依時間/累積時間排序

T 依時間/累積時間排序


W 將目前設定寫入/ .toprc檔中 

🎜🎜🎜
陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。