Linux 常用命令-- top


 

Linux 常用命令-- top

top 命令實時顯示進程的狀態。默認狀態顯示的是cpu密集型的進程,並且每5秒鍾更新一次。你可以通過PID的數字大小,age (newest first), time (cumulative time),resident memory usage(常駐內存使用)以及進程從啟動后占用cpu的時間。

top - 20:59:18 up 4 days,  4:47,  1 user,  load average: 0.00, 0.00, 0.00
Tasks:  65 total,   2 running,  63 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.2%us,  0.1%sy,  0.0%ni, 99.6%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    500472k total,   282756k used,   217716k free,    82496k buffers    
Swap:        0k total,        0k used,        0k free,    61052k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                 
975 root      20   0  756m  10m 8008 S  0.2  2.1   9:12.19 AliYunDun                                                                
991 root      20   0  768m 9320 7164 S  0.2  1.9   5:19.35 AliHids                                                                  
842 root      20   0  463m 2588 1888 S  0.1  0.5   2:43.88 AliYunDunUpdate                                                          
  1 root      20   0 19232 1512 1224 S  0.0  0.3   0:00.65 init                                                                     
  2 root      20   0     0    0    0 S  0.0  0.0   0:00.01 kthreadd                                                                 
  3 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0                                                              
  4 root      20   0     0    0    0 S  0.0  0.0   0:00.71 ksoftirqd/0                                                              
  5 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 migration/0                                                              
  6 root      RT   0     0    0    0 S  0.0  0.0   0:00.55 watchdog/0                                                               
  7 root      20   0     0    0    0 S  0.0  0.0   0:12.40 events/0                                                                 
  8 root      20   0     0    0    0 S  0.0  0.0   0:00.00 cgroup                                                                   
  9 root      20   0     0    0    0 S  0.0  0.0   0:00.00 khelper                                                                  
 10 root      20   0     0    0    0 S  0.0  0.0   0:00.00 netns                                                                    
 11 root      20   0     0    0    0 S  0.0  0.0   0:00.00 async/mgr                                                                
 12 root      20   0     0    0    0 S  0.0  0.0   0:00.00 pm                                                                       
 13 root      20   0     0    0    0 S  0.0  0.0   0:00.00 xenwatch                                                                 
 14 root      20   0     0    0    0 S  0.0  0.0   0:00.00 xenbus                                                                   
 15 root      20   0     0    0    0 S  0.0  0.0   0:01.22 sync_supers                                                              
 16 root      20   0     0    0    0 S  0.0  0.0   0:01.14 bdi-default                                                              
 17 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kintegrityd/0                                                            
 18 root      20   0     0    0    0 S  0.0  0.0   0:00.18 kblockd/0                                                                
 19 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kacpid                                                                   
 20 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kacpi_notify                                                             
 21 root      20   0     0    0    0 S  0.0  0.0   0:00.00 kacpi_hotplug  

如果你想提高某個進程的優先級,可以通過renice命令,如果有摸個進程占用太多的cpu資源,可以通過kill命令。

  • top 顯示出現的每個列的含義分別為:

    PID: 進程描述符
    USER: 進程的擁有者
    PRI:進程的優先級
    NI: nice level
    SIZE: 進程擁有的內存(包括code segment + data segment + stack segment)
    RSS: 物理內存使用
    VIRT(virtul memory usage): 進程需要的虛擬內存大小
    RES(resident memory usage): 常駐內存
    SHARE: 和其他進程共享的物理內存空間
    STAT:進程的狀態,有 S=sleeping,R=running,T=stopped or traced,D=interruptible sleep(不可中斷的睡眠狀態),Z=zombie。
    %CPU: CPU使用率
    %MEM: 物理內存的使用
    TIME: 進程占用的總共cpu時間
    COMMAND:進程的命令

常用的命令

(1) t: 用於是否顯示總的統計數據,也就是下面這兩行

Tasks:  65 total,   2 running,  63 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.2%us,  0.1%sy,  0.0%ni, 99.6%id,  0.1%wa,  0.0%hi,  0.0%si,  0.0%st

(2)m:用戶是否顯示內存的信息,也就是下面這兩行

Mem:    500472k total,   282756k used,   217716k free,    82496k buffers    
Swap:        0k total,        0k used,        0k free,    61052k cached

(3)A: 根據單窗口切換成多窗口,可以看到四個不同的窗口,可以通過a或者w來切換多個窗口。 四個窗口的名字分別為:Def,Job,Mem,Usr

(4)f:進入一個動態配置top的screen中,可以根據自己的喜好配置top

(5)o:對top的現有配置排序(order)

(6)r:使用renice命令

(7)k:使用kill命令

top的命令行使用方式

(1) 批量處理模式

$ top -b 

加上-b后,top顯示的時候,將每一次顯示的結果都打印出來,不會將上一次的結果給沖掉。

(2) 顯示某個進程的信息

$ top -p pid

如果是多個進程,只要如下:

$ top -p pid1,pid2,pid3

(3) 顯示某個用戶的進程信息

$ top -u username

(4) 顯示線程的信息,而不是進程的信息

$ top -H 

(5) 設置刷屏的時間(單位為s)

$ top -d ntime

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM