zoukankan      html  css  js  c++  java
  • top

    top 功能说明:实时显示系统中各个进程的资源占用状况。
    
    参数选项:
    -a  将进程按照使用内存排序(CentOS7及以上没有此参数)。
    -b  以批处理的模式显示进程信息,输出结果可以传递给其他程序或写入到文件中。
    在这种模式下,top命令不会接受任何输入,一直运行直到到达-n选项设置的阀值,或者按Ctrl+C等组合键终止程序。
    -c  显示进程的整个命令路径,而不是只显示命令名称。
    -d  指定每两次屏幕信息刷新之间的时间。
    -H  指定这个可以显示每个线程的情况,否则就是进程的总的状态。
    -i  不显示闲置或者僵死的进程信息。
    -n  top输出信息更新的次数,完成后将退出top命令。
    -p  显示指定的进程信息。
    
    交互式命令:
    h或?  显示帮助信息。
    Z     全局颜色设置。
    B     全局字体加粗设置。
    l     切换是否显示平均负载和启动时间信息。
    t     切换是否显示进程和CPU状态信息。
    m     切换是否显示内存信息。
    1     数字1,用于多核CPU监控,可监控每个逻辑CPU的状况。
    I     Irix/Solaris模式。
    f     从当前显示列表中添加或删除项目。按"a~z"键即可显示或隐藏对应的列,最后按回车键确认。
    o     改变top输出信息中显示项目的顺序。
    按小写的"a-z"键可以将相应的列向右移动,而按大写的"A~Z"键可以将相应的列向左移动,最后按回车键确认。
    F或O  选择排序的列。
    <,>   移动选择排序的列,"<"选择左邻一列排序,">"选择右邻一列排序。
    R     切换正常/反转排序。
    H     切换是否显示线程信息。
    c     切换是否显示完整命令行和命令名称信息。
    i     切换是否显示闲置进程和僵死进程。
    S     切换到累计模式。
    x     以高亮的形式排序对应的列,需要结合b/z使用。
    y     高亮运行的进程,需要结合b/z使用。
    z     打开/关闭颜色。
    b     打开/关闭加粗。
    u     显示指定用户相关的进程信息。
    n或#  设置显示进程的最大行数。
    k     终止一个进程,系统将提示用户输入一个需要终止进程的PID。
    r     重新设置一个进程的优先级,系统提示用户输入需要改变的进程PID,以及需要设置的进程优先级值。
    输入一个正值将使优先级降低,反之则可以使该进程拥有更高的优先权。默认值是10。
    d或s  改变top输出信息两次刷新之间的时间,系统将提示输入新的时间,单位是s。
    如果是小数,则换算成ms;如果输入0,那么系统将会不断刷新,默认刷新时间是3s。
    需要注意的是,如果设置太小的时间,则可能会引起系统不断刷新,无法看清输出显示情况,而且系统负载也会加大。
    W     将当前top设置写入 "~/.toprc" 文件中。
    q     退出top显示。
    
    
    范例:显示进程信息
    [root@testdb62 ~]# top
    top - 14:24:07 up 69 days, 22:11,  2 users,  load average: 0.01, 0.02, 0.05
    Tasks: 120 total,   1 running, 119 sleeping,   0 stopped,   0 zombie
    %Cpu(s):  0.0 us,  1.6 sy,  0.0 ni, 98.4 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    KiB Mem :  8173976 total,  5385572 free,   413580 used,  2374824 buff/cache
    KiB Swap:  8257532 total,  8257532 free,        0 used.  7396152 avail Mem 
    
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                     
        1 root      20   0  191128   3384   1896 S   0.0  0.0  24:29.88 systemd                                     
        2 root      20   0       0      0      0 S   0.0  0.0   0:02.68 kthreadd                                    
        4 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/0:0H                                
        6 root      20   0       0      0      0 S   0.0  0.0   0:46.02 ksoftirqd/0                                 
        7 root      rt   0       0      0      0 S   0.0  0.0   0:23.09 migration/0                                 
        8 root      20   0       0      0      0 S   0.0  0.0   0:00.00 rcu_bh                                      
        9 root      20   0       0      0      0 S   0.0  0.0  16:31.76 rcu_sched                                   
       10 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 lru-add-drain 
    
    说明:
    第一行,任务队列信息,同uptime命令的执行结果。
    14:24:07  当前系统时间。
    up 69 days, 22:11  系统已经运行的时间是69天22小时11分。
    2 users  当前有2个用户登录系统。
    load average: 0.01, 0.02, 0.05   后面三个数分别是1分钟、5分钟、15分钟的平均负载情况
    
    第二行,Tasks为任务(进程),从上面的信息可以看出,系统现在共有120个进程,
    其中处于运行状态的有1个,119个在休眠(sleep),stoped状态0个,zombie状态(僵死)的有0个。
    
    第三行,CPU状态信息
    0.0 us  用户空间占用CPU的百分比。
    1.6 sy  内核空间占用CPU的百分比。 
    0.0 ni  改变过优先级的进程占用CPU的百分比。  
    98.4 id  空闲CPU的百分比。  
    0.0 wa  I/O等待占用CPU的百分比。  
    0.0 hi  硬中断(Hardware IRQ)占用CPU的百分比。 
    0.0 si  软中断(Software Interrupts)占用CPU的百分比。  
    0.0 st  虚拟机占用CPU的百分比。 
    
    第四行,内存状态
    8173976 total  物理内存总量。
    5385572 free   空闲内存总量。
    413580 used    使用中的内存总量。
    2374824 buff/cache  缓冲的内存量。
    
    第五行,swap交换分区信息
    8257532 total  交换区总量。
    8257532 free   空闲交换区总量。
    0 used    使用的交换区总量。
    7396152 avail Mem    可用的内存量。
    
    计算真正可用的内存数为:free + buff/cache
    对内存进行监控是,要关注wap交换分区的used,如果这个数值还在不断地变化,
    则说明内核正在不断进行内存和swap的数据交换,这表示内存真的不够用了或者程序运行有内存溢出问题。
    
    第七行,各进程(任务)的状态监控。
    PID  进程ID
    USER   进程所有者。   
    PR   进程优先级。
    NI    nice值,负值表示高优先级,正值表示低优先级。
    VIRT   进程使用的虚拟内存总量,单位为kb。
    RES    进程使用、未被换出的物理内存大小,单位为kb。
    SHR   共享内存大小,单位为kb。
    S  进程状态。D=不可中断的睡眠状态  R=运行   S=睡眠  T=跟踪/停止  Z=僵尸进程。
    %CPU   上次更新到现在CPU时间占用百分比。
    %MEM   进程使用的物理内存百分比。
    TIME+   进程使用CPU时间总计,单位1/100秒。
    COMMAND   进程名称(命令名/命令行)。
    
    
    
    范例:显示多核不同核CPU的信息
    在top基本视图中,按数字1,可监控每个逻辑CPU的状况,再按数字1,返回到基本视图界面。
    [root@testdb62 ~]# top
    top - 15:41:53 up 69 days, 23:29,  2 users,  load average: 0.00, 0.01, 0.05
    Tasks: 121 total,   1 running, 120 sleeping,   0 stopped,   0 zombie
    %Cpu0  :  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %Cpu1  :  0.0 us,  0.3 sy,  0.0 ni, 99.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
    %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
    %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
    KiB Mem :  8173976 total,  5384812 free,   414408 used,  2374756 buff/cache
    KiB Swap:  8257532 total,  8257532 free,        0 used.  7395324 avail Mem 
    
    
    范例:将进程按照使用内存排序(CentOS7及以上没有此参数)
    [root@testdb62 ~]# top -a
    top - 15:55:54 up 74 days, 22:31,  1 user,  load average: 0.06, 0.10, 0.08
    Tasks: 214 total,   1 running, 213 sleeping,   0 stopped,   0 zombie
    Cpu(s):  0.1%us,  0.2%sy,  0.0%ni, 99.6%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:  10362812k total,  7115712k used,  3247100k free,   146320k buffers
    Swap: 20922316k total,    29836k used, 20892480k free,  6059892k cached
    
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
     1898 mysql     20   0 4868m 377m 5876 S  0.7  3.7  11332:19 mysqld
     2542 root      20   0  387m  79m  548 S  0.3  0.8 158:49.11 memcached
     2022 root      20   0  697m  22m 3652 S  0.0  0.2  96:19.19 frpc
    13730 zabbix    20   0  219m 5660 1092 S  0.0  0.1 119:12.13 zabbix_proxy
     1151 root      20   0  249m 5072  916 S  0.0  0.0   3:01.19 rsyslogd
    15232 postfix   20   0 81252 4124 3000 S  0.0  0.0   0:00.01 local
    15230 postfix   20   0 81096 3536 2632 S  0.0  0.0   0:00.01 cleanup
    15233 postfix   20   0 80988 3464 2572 S  0.0  0.0   0:00.00 bounce
     6062 postfix   20   0 80952 3420 2540 S  0.0  0.0   0:00.04 pickup



  • 相关阅读:
    关于中间件(Middleware)的理解
    强类型约束的中间件(IMiddleware)
    常规中间件(Conventional Middleware) 之 自定义中间件
    常规中间件(Conventional Middleware) 之 内联中间件(in-line middleware)
    git 遴选(cherry-pick)
    sql转linq
    python知识体系
    when 的使用
    关于联表查询时NULL值的处理
    $project 选择要显示的字段
  • 原文地址:https://www.cnblogs.com/l10n/p/14173592.html
Copyright © 2011-2022 走看看