top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似于Windows的任務管理器。下面詳細介紹它的使用方法。
top - 02:53:32 up 16 days,? 6:34, 17 users,? load average: 0.24, 0.21, 0.24
Tasks: 481 total,?? 3 running, 474 sleeping,?? 0 stopped,?? 4 zombie
Cpu(s): 10.3%us,? 1.8%sy,? 0.0%ni, 86.6%id,? 0.5%wa,? 0.2%hi,? 0.6%si,? 0.0%st
Mem:?? 4042764k total,? 4001096k used,??? 41668k free,?? 383536k buffers
Swap:? 2104472k total,???? 7900k used,? 2096572k free,? 1557040k cached
PID USER????? PR? NI? VIRT? RES? SHR S %CPU %MEM??? TIME+? COMMAND
32497 jacky???? 20?? 0? 669m 222m? 31m R?? 10? 5.6?????? 29:27.62 firefox
4788 yiuwing?? 20?? 0? 257m? 18m? 13m S??? 5? 0.5????????? 5:42.44 konsole
5657 Liuxiaof? 20?? 0? 585m 159m? 30m S??? 4? 4.0????????? 5:25.06 firefox
4455 xiefc????? 20?? 0? 542m? 124m? 30m R??? 4? 3.1???????? 7:23.03 firefox
6188 Liuxiaof? 20?? 0? 191m?? 17m? 13m S??? 4? 0.5????????? 0:01.16 konsole
統計信息區前五行是系統整體的統計信息。第一行是任務隊列信息,同 uptime? 命令的執行結果。其內容如下:
01:06:48? 當前時間
up 1:22? 系統運行時間,格式為時:分
1 user? 當前登錄用戶數
load average: 0.06, 0.60, 0.48? 系統負載,即任務隊列的平均長度。
三個數值分別為? 1分鐘、5分鐘、15分鐘前到現在的平均值。
第二、三行為進程和CPU的信息。當有多個CPU時,這些內容可能會超過兩行。內容如下:
Tasks: 29 total? 進程總數
1 running? 正在運行的進程數
28 sleeping? 睡眠的進程數
0 stopped? 停止的進程數
0 zombie? 僵尸進程數
Cpu(s): 0.3% us? 用戶空間占用CPU百分比
1.0% sy? 內核空間占用CPU百分比
0.0% ni? 用戶進程空間內改變過優先級的進程占用CPU百分比
98.7% id? 空閑CPU百分比
0.0% wa? 等待輸入輸出的CPU時間百分比
0.0% hi
0.0% si
最后兩行為內存信息。內容如下:
Mem: 191272k total? 物理內存總量
173656k used? 使用的物理內存總量
17616k free? 空閑內存總量
22052k buffers? 用作內核緩存的內存量
Swap: 192772k total? 交換區總量
0k used? 使用的交換區總量
192772k free? 空閑交換區總量
123988k cached? 緩沖的交換區總量。
內存中的內容被換出到交換區,而后又被換入到內存,但使用過的交換區尚未被覆蓋,
該數值即為這些內容已存在于內存中的交換區的大小。
相應的內存再次被換出時可不必再對交換區寫入。
進程信息區統計信息區域的下方顯示了各個進程的詳細信息。首先來認識一下各列的含義。
序號? 列名? 含義
a? PID? 進程id
b? PPID? 父進程id
c? RUSER? Real user name
d? UID? 進程所有者的用戶id
e? USER? 進程所有者的用戶名
f? GROUP? 進程所有者的組名
g? TTY? 啟動進程的終端名。不是從終端啟動的進程則顯示為 ?
h? PR? 優先級
i? NI? nice值。負值表示高優先級,正值表示低優先級
j? P? 最后使用的CPU,僅在多CPU環境下有意義
k? %CPU? 上次更新到現在的CPU時間占用百分比
l? TIME? 進程使用的CPU時間總計,單位秒
m? TIME+? 進程使用的CPU時間總計,單位1/100秒
n? %MEM? 進程使用的物理內存百分比
o? VIRT? 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
p? SWAP? 進程使用的虛擬內存中,被換出的大小,單位kb。
q? RES? 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
r? CODE? 可執行代碼占用的物理內存大小,單位kb
s? DATA? 可執行代碼以外的部分(數據段+棧)占用的物理內存大小,單位kb
t? SHR? 共享內存大小,單位kb
u? nFLT? 頁面錯誤次數
v? nDRT? 最后一次寫入到現在,被修改過的頁面數。
w? S? 進程狀態。
D=不可中斷的睡眠狀態
R=運行
S=睡眠
T=跟蹤/停止
Z=僵尸進程
x? COMMAND? 命令名/命令行
y? WCHAN? 若該進程在睡眠,則顯示睡眠中的系統函數名
z? Flags? 任務標志,參考 sched.h
默認情況下僅顯示比較重要的? PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND? 列。可以通過下面的快捷鍵來更改顯示內容。
更改顯示內容通過 f 鍵可以選擇顯示的內容。按 f 鍵之后會顯示列的列表,按 a-z? 即可顯示或隱藏對應的列,最后按回車鍵確定。
按 o 鍵可以改變列的顯示順序。按小寫的 a-z 可以將相應的列向右移動,而大寫的 A-Z? 可以將相應的列向左移動。最后按回車鍵確定。
按大寫的 F 或 O 鍵,然后按 a-z 可以將進程按照相應的列進行排序。而大寫的? R 鍵可以將當前的排序倒轉。
==============================
top命令使用過程中,還可以使用一些交互的命令來完成其它參數的功能。這些命令是通過快捷鍵啟動的。
<空格>:立刻刷新。
P:根據CPU使用大小進行排序。
T:根據時間、累計時間排序。
q:退出top命令。
m:切換顯示內存信息。
t:切換顯示進程和CPU狀態信息。
c:切換顯示命令名稱和完整命令行。
M:根據使用內存大小進行排序。
W:將當前設置寫入~/.toprc文件中。這是寫top配置文件的推薦方法。
可以看到,top命令是一個功能十分強大的監控系統的工具,對于系統管理員而言尤其重要。但是,它的缺點是會消耗很多系統資源。
應用實例
使用top命令可以監視指定用戶,缺省情況是監視所有用戶的進程。如果想查看指定用戶的情況,在終端中按“U”鍵,然后輸入用戶名,系統就會切換為指定用戶的進程運行界面。
a.作用
free命令用來顯示內存的使用情況,使用權限是所有用戶。
b.格式
free [-b -k -m] [-o] [-s delay] [-t] [-V]
c.主要參數
-b -k -m:分別以字節(KB、MB)為單位顯示內存使用情況。
-s delay:顯示每隔多少秒數來顯示一次內存使用情況。
-t:顯示內存總和列。
-o:不顯示緩沖區調節列。
d.應用實例
free命令是用來查看內存使用情況的主要命令。和top命令相比,它的優點是使用簡單,并且只占用很少的系統資源。通過-S參數可以使用free命令不間斷地監視有多少內存在使用,這樣可以把它當作一個方便實時監控器。
#free -b -s5
使用這個命令后終端會連續不斷地報告內存使用情況(以字節為單位),每5秒更新一次。 |
新跟帖 (共1 條評論)
查看更多評論。。。
登錄 注冊