用户工具

站点工具


linux_basic:linux_expert:top

top

[root@centos ~]# top
# 如果你中意某个视图,可以按W(大写)保存它,下次有效。
top - 11:16:04 up 16:24,  3 users,  load average: 0.00, 0.01, 0.05                  # 显示服务器运行负载统计信息:LOGO,当前时间;开机时间; 当前登陆用户数量; 平均cpu负载1/5/15分钟统计
Tasks: 169 total,   2 running, 167 sleeping,   0 stopped,   0 zombie                # 按 H 大写 切换tasks/threads进程线程数量。进程或线程正在运行数量; 睡眠数量; 停止数量; 僵死数量
%Cpu0  :  0.0 us,  1.0 sy,  0.0 ni, 99.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st     # 按 1 切换显示多核CPU使用,CPU核数从0开始,显示单核占用情况
%Cpu1  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st       =Cpu(s):表示这一行显示CPU总体信息           =us:用户态进程占用CPU时间百分比,不包含renice值为负的任务占用的CPU的时间。
%Cpu2  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st       =sy:内核占用CPU时间百分比                   =ni:改变过优先级的进程占用CPU的百分比
%Cpu3  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st       =id:空闲CPU时间百分比                       =wa:等待I/O的CPU时间百分比
%Cpu4  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st       =hi:CPU硬中断时间百分比                     =si:CPU软中断时间百分比
%Cpu5  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st       * 注:这里显示数据是所有cpu的平均值,如果想看每一个cpu的处理情况,按1即可;折叠,再次按1;
%Cpu6  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st       
%Cpu7  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st       
KiB Mem : 26.2/2027968  [||||||||||                                               ] # 按 m 切换显示内存、swap显示格式视图,此处合并2种显示(注意),第1种为可视化,第2种为数字化
KiB Swap:  0.0/2097148  [                                                         ] #Mem:内存的LOGO; total:物理内存总量; used:使用的物理内存量; free:空闲的物理内存量; buffers:用作内核缓存的物理内存量
KiB Mem :  8154992 total,   226356 free,  4543336 used,  3385300 buff/cache         
KiB Swap:  2097148 total,  1501436 free,   595712 used.  3282960 avail Mem          #Swap:交换的LOGO:类似于Mem,cached:缓冲交换区总量                                                                                 
# 内存与进程之间是状态栏,部分快捷键操作将在此显示状态提示:按 W 大写 保存界面配置在用户目录; L 大写 搜索 
   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND        # 下面 类似 ps 信息  ,列说明   
  8824 root      20   0  161604   6860   5216 S   1.0  0.3   0:00.19 sshd           # PID:进程的ID
     1 root      20   0  190624   3904   2584 S   0.0  0.2   0:03.13 systemd        # USER:进程所有者
     2 root      20   0       0      0      0 S   0.0  0.0   0:00.02 kthreadd       # PR:进程的优先级别,越小越优先被执行
     4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H   # NInice:值
     6 root      20   0       0      0      0 S   0.0  0.0   0:00.19 ksoftirqd/0    # VIRT:进程占用的虚拟内存
     7 root      rt   0       0      0      0 S   0.0  0.0   0:00.04 migration/0    # RES:进程占用的物理内存
     8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh         # SHR:进程使用的共享内存
     9 root      20   0       0      0      0 S   0.0  0.0   0:03.25 rcu_sched      # S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
    10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain  # %CPU:进程占用CPU的使用率,按P(大写)以内存占用量排序,连按切换正序、逆序。
    11 root      rt   0       0      0      0 S   0.0  0.0   0:00.19 watchdog/0     # %MEM:进程使用的物理内存和总内存的百分比,按M(大写)以内存占用量排序,连按切换正序、逆序。
    12 root      rt   0       0      0      0 S   0.0  0.0   0:00.17 watchdog/1     # TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。注意比较大的时间,表示长时间占用或使用cpu
    13 root      rt   0       0      0      0 S   0.0  0.0   0:00.08 migration/1    # COMMAND:进程启动命令名称。
    14 root      20   0       0      0      0 S   0.0  0.0   0:00.09 ksoftirqd/1
    15 root      20   0       0      0      0 S   0.0  0.0   0:00.56 kworker/1:0
    16 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/1:0H
    17 root      rt   0       0      0      0 S   0.0  0.0   0:00.16 watchdog/2
    18 root      rt   0       0      0      0 S   0.0  0.0   0:00.03 migration/2
    19 root      20   0       0      0      0 S   0.0  0.0   0:00.33 ksoftirqd/2
    21 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/2:0H
    22 root      rt   0       0      0      0 S   0.0  0.0   0:00.17 watchdog/3
    23 root      rt   0       0      0      0 S   0.0  0.0   0:00.07 migration/3
    24 root      20   0       0      0      0 S   0.0  0.0   0:00.15 ksoftirqd/3
    26 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/3:0H
  1483 root      20   0  112668   4364   3332 S   0.0  0.2   0:00.01  `- sshd         # 按 V 大写 切换显示进程树               
  8824 root      20   0  161604   6860   5216 S   0.0  0.3   0:00.25      `- sshd
  8840 root      20   0  113184   1584   1324 S   0.0  0.1   0:00.00          `- bash
  8858 root      20   0  115576   2180   1672 S   0.0  0.1   0:00.02              `- bash
  9786 root      20   0  161772   2328   1584 R   0.0  0.1   0:00.42                  `- top

help

# 按 h ,切换到帮助界面,q返回主界面

Help for Interactive Commands - procps-ng version 3.3.10
Window 1:Def: Cumulative mode Off.  System: Delay 3.0 secs; Secure mode Off.

  Z,B,E,e   Global: 'Z' colors; 'B' bold; 'E'/'e' summary/task memory scale
  l,t,m     Toggle Summary: 'l' load avg; 't' task/cpu stats; 'm' memory info
  0,1,2,3,I Toggle: '0' zeros; '1/2/3' cpus or numa node views; 'I' Irix mode
  f,F,X     Fields: 'f'/'F' add/remove/order/sort; 'X' increase fixed-width

  L,&,<,> . Locate: 'L'/'&' find/again; Move sort column: '<'/'>' left/right
  R,H,V,J . Toggle: 'R' Sort; 'H' Threads; 'V' Forest view; 'J' Num justify
  c,i,S,j . Toggle: 'c' Cmd name/line; 'i' Idle; 'S' Time; 'j' Str justify
  x,y     . Toggle highlights: 'x' sort field; 'y' running tasks
  z,b     . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
  u,U,o,O . Filter by: 'u'/'U' effective/any user; 'o'/'O' other criteria
  n,#,^O  . Set: 'n'/'#' max tasks displayed; Show: Ctrl+'O' other filter(s)
  C,...   . Toggle scroll coordinates msg for: up,down,left,right,home,end

  k,r       Manipulate tasks: 'k' kill; 'r' renice
  d or s    Set update interval
  W,Y       Write configuration file 'W'; Inspect other output 'Y'
  q         Quit
          ( commands shown with '.' require a visible task display window )
Press 'h' or '?' for help with Windows,
Type 'q' or <Esc> to continue
# 补中文说明:(2020.03.29)

# 显示开关
i 忽略闲置和僵死进程,只显示正在运行的进程。
t 显示或隐藏进程和CPU状态信息
l 显示或隐藏uptime信息
f 增加或减少进程显示标志
S 累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的TIME+
u 指定显示用户进程



k 终止一个进程。
q 退出程序
r 重新安排一个进程的优先级别,修改进程renice值
S 切换到累计模式
s 改变两次刷新之间的延迟时间(单位为s),如果有小数,就换算成m s。输入0值则系统将不断刷新,默认值是5 s
<Space>:立即刷新
f或者F 从当前显示中添加或者删除项目
o或者O 改变显示项目的顺序
l 切换显示平均负载和启动时间信息
m 切换显示内存信息
t 切换显示进程和CPU状态信息
c 切换显示命令名称和完整命令行
M 根据驻留内存大小进行排序
P 根据CPU使用百分比大小进行排序
T 根据时间/累计时间进行排序
W 将当前设置写入~/.toprc文件中
T 按TIME+排行

<> 大于号、小于号向左向右切换列并倒序排列。


L 搜索,y高亮它。

P CPU占用排序,连按循环切换顺逆排序
M 内存占用排序


top过滤参数

更多man top

top -c                 #直接进入显示命令路径的top视图
top -p 17265           #只显示某个进程的top视图

# 显示多个进程,如java
top -p `pgrep java | tr "\\n" "," | sed 's/,$//'`
Tasks:   5 total,   0 running,   5 sleeping,   0 stopped,   0 zombie
KiB Mem :  8154992 total,   225596 free,  4542752 used,  3386644 buff/cache
KiB Swap:  2097148 total,  1501436 free,   595712 used.  3283520 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
 31865 root      20   0 8012996   1.1g  14528 S   1.0 14.4  42:02.73 /opt/apache-tomcat-7.0.85/jre/bin/java -server -Djav+
 47106 root      20   0 7858504   1.1g  24216 S   0.3 13.7  10:06.05 java -Duser.home=/var/jenkins_home -jar /usr/share/j+
 26778 root      20   0 6533164 735456  14712 S   0.3  9.0   8:35.63 /usr/local/jre/bin/java -Xmx2048m -Xms512m -server -+
  4312 root      20   0 6848244 450824   6508 S   0.7  5.5  27:05.39 /usr/local/jre/bin/java -Xmx2048m -Xms512m -server -+
  4242 root      20   0 6179032 181932   6780 S   0.0  2.2   5:18.82 /usr/local/jre/bin/java -jar /opt/svnde/

进程与线程状态

# 摘自 top

[root@centos ~]# top
Tasks: 169 total,   2 running, 167 sleeping,   0 stopped,   0 zombie                # 按 H 大写 切换tasks/threads

进程的5种状态码:

  • D 不可中断 uninterruptible sleep (usually IO)
  • R 运行 runnable (on run queue)
  • S 中断 sleeping
  • T 停止 traced or stopped
  • Z 僵死 a defunct (”zombie”) process
linux_basic/linux_expert/top.txt · 最后更改: 2020/09/25 21:49 (modify by Amos)