Linux 常用命令之 top 命令详解

top:动态查看进程变化,监控linux的系统状况, 是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。
下面详细介绍它的使用方法:
Linux常用命令之top命令详解
统计信息区 
前五行是系统整体的统计信息。

  • 第一行是任务队列信息,同 uptime 命令的执行结果。其内容如下:
    Linux常用命令之top命令详解
    07:25:19   当前时间 
    up 246 days   系统运行时间
    2:34
    4 user   当前登录用户数 
    load average: 2.51, 2.53, 2.53   系统负载,即任务队列的平均长度。 
    三个数值分别为 1分钟、5分钟、15分钟前到现在的平均值。
  • 第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下: 
    Tasks:
    total   进程总数 
    running   正在运行的进程数 
    sleeping   睡眠的进程数 
    stopped   停止的进程数 
    zombie   僵尸进程数 
    Cpu(s): 
    us   用户空间占用CPU百分比 
    sy   内核空间占用CPU百分比 
    ni   用户进程空间内改变过优先级的进程占用CPU百分比 
    id   空闲CPU百分比 
    wa   等待输入输出的CPU时间百分比 
    hi   硬中断(Hardware IRQ)占用CPU的百分比
    si   软中断(Software Interrupts)占用CPU的百分比
    st   (Steal time) 是当 hypervisor 服务另一个虚拟处理器的时候,虚拟 CPU 等待实际 CPU 的时间的百分比。
    Mem: 
    total   物理内存总量 
    free   空闲内存总量 
    used   使用的物理内存总量 
    buff/cache   用作内核缓存的内存量
    Swap: 
    total   交换区总量 
    free   空闲交换区总量 
    used   使用的交换区总量
    avail Mem 缓冲的交换区总量

    内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖, 
    该数值即为这些内容已存在于内存中的交换区的大小。 
    相应的内存再次被换出时可不必再对交换区写入。
    进程信息区
    统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。

    PID 进程id 
    PPID 父进程id 
    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 列。可以通过下面的快捷键来更改显示内容。

top命令选项

top [-] [d] [p] [q] [C] [S] [s] [n] 
-d 后跟秒数,指定每两次屏幕信息刷新之间的时间间隔,表示进程界面更新时间(默认为5秒)。如:将top进程表在/tmp/top.txt中打印2次。
 top -b -n 2 > /tmp/top.txt
-p进程ID    如:查看进程号为1的进程。 top -p 1
-q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。 
-S 指定累计模式 
-s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。 
-i 使top不显示任何闲置或者僵死进程。 
-c 显示整个命令行而不只是显示命令名 

Top命令常见的操作

  • 1、 2500毫秒刷新一次TOP内容,总共5次,输出内容存放到performace.txt文件中
     top -b -d 2.5 -n 5 > performace.txt

    注:要将内容输出到文件中,必须使用-b,表示批处理选项

  • 2、 TOP命令如何快速按%CPU、%MEM、TIME+列排序
    • a) %CPU:使用大写字母按键:P
           b) %MEM:使用大写字母按键:M
         
      c) T IME+使用大写字母按键: T

      注:TOP默认排序为倒序,如果确实需要升序排序,可以使用大写字母按键:R

  • 3、TOP命令中显示其它列值、将两列互换等
        a). 选择显示列或隐藏列:使用小写字母按键:f
       
    c). 交换列显示顺序:使用小写字母按键: o
        * b). 选择需要排序的列:使用大写字母按键:F
php
本作品采用《CC 协议》,转载必须注明作者和本文链接
xugege
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!