zoukankan      html  css  js  c++  java
  • 9.7 top:实时显示系统中各个进程的资源占用状况

    top命令

      用于实时地对系统处理器状态进行监控,它能够实时地显示系统中各个进程的资源占用状况。该命令可以按照CPU的使用、内存的使用和执行时间对系统任务进程进行排序显示,同时top命令还可以通过交互式命令进行设定显示。

    top命令的参数选项及说明

    -a 将进程按照使用内存排序
    -b 以批处理的模式显示进程信息,输出结果可以传递给其他程序或写入到文件中。在这种模式下,top命令不会接受任何输入,一直运行直到达到 -n 选项设置的阀值,或者按Ctrl+C等组合键终止程序
    -c 显示进程的整个命令路径,而不是只显示命令名称
    -d 指定每两次屏幕信息刷新之间的时间间隔
    -H 指定这个可以显示每个线程的情况,否则就是进程的总的状态
    -i 不显示闲置或者僵死的进程信息
    -n top输出信息更新的次数,完成后将退出top命令
    -p 显示指定的进程信息

    交互式命令

    交互式命令就是在top命令执行过程中使用的一些命令。
    
    对交互式命令说明
    
    h或? 显示帮助信息,给出交互式命令的一些说明总结
    Z   全局颜色设置
    B   全局字体加粗设置
    l   切换是否显示平均负载和启动时间信息
    t   切换是否显示进程和CPU状态信息
    m   切换是否显示内存信息
    1   数字1,用于多核CPU监控,可监控每个逻辑CPU的状况
    I   Irix/Solaris模式
    f   从当前显示列表中添加或删除项目。按“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显示

    显示进程信息


    Image

    下面针对命令各行的内容进行说明。
    第一行,任务队列信息,同uptime命令的执行结果。
      023954    当前系统时间。
      up 1day,1636 系统已经运行了1天16小时36分。
      1 users 当前有 1 个用户登录系统。
      load average:0.000.000.00load average后面的三个数分别是1分钟、5分钟、15分钟的平均负载情况。
    第二行,Tasks为任务(进程)。从上面的信息可以看出,系统现在共有134个进程,其中处于运行状态的有1个,91个在休眠(sleep),stoped状态0个,zombie状态(僵死)的有0个。
    第三行,CPU状态信息。
      0.0%us 用户空间占用CPU的百分比。
      0.0%sy 内核空间占用CPU的百分比。
      0.0%ni 改变过优先级的进程占用CPU的百分比。
      100.0%id 空闲CPU百分比。
      0.0%wa I/0等待占用CPU的百分比。
      0.0%hi 硬中断(Hardware IRQ)占用CPU的百分比。
      0.0%si 软中断(Software Interrupts)占用CPU的百分比。
      0.0%st 虚拟机占用CPU的百分比。
    第四行,内存状态。
      486224k total 物理内存总量。
      401188k used 使用中的内存总量。
      85036k free 空闲内存总量。
      42352k buffers 缓冲的内存量。
    第五行,swap交换分区信息。
      1535996k total 交换区总量。
      0k used 使用的交换区总量。
      1535996k free 空闲交换区总量。
      216936k cached 缓存的内存量。
    
    1)计算真正可用的内存数为:第四行的free+第四行的buffers+第五行的cached。
    2)在对内存进行监控时,我们要时刻关注top命令里第五行swap交换分区的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的信息

    Image(1)

    按数字“1”,可监控每个逻辑CPU情况
    服务器有两个CPU,再按数字1返回到top基本视图界面

    将进程按照使用内存排序

    [root@cs6 ~]# top -a # centos 7 里面没有该选项,top交互模式下按 M

    Image(2)

    以批处理模式显示进程信息。

    [root@doit ~]# top -b #<=使用参教 -b 可以看到命令执行结果不停地向下刷新。

    image

    显示进程的完整路径

    [root@doit ~]# top -c #<=使用参数-c 显示进程的整个命令路经,而不是只显示命令名称。

    Image(3)

    设置执行top命令后的信息刷新时间

    [root@doit ~]# top -d 3 #<==使用参数-d指定更新周期为3秒,也就是说命令结果每隔3s刷新一次。

    设置执行top命令后的信息刷新次数。

    [root@doit ~]# top -n 2 #<=使用参数 -n 指定更新次数为2次,也就是说命令结果刷新两次后终止退出,-n参数可以和一d参数配合使用。

    显示指定的进程信息

    [root@doit ~]# top -p 3782

    Image(4)

    字段排序(交互模式)例子

    默认进入top命令时,各进程是按照CPU的使用量来排序的。

    敲击键盘“b”和“x”,得到图

    Image(5)

    敲击键盘“z”和“x”,
    敲击z后,可以看到大部分内容都变成了红色,再敲x,对列高亮显示。
    Image(6)

    通过“>”或“<”可以向右或向左改变排序列,

    敲击键盘“>”或“<”,可以改变排序的列,依然高亮显示,降序排列。

    Image(7)

  • 相关阅读:
    Python3 简单实现下载某个网站轮播图片
    java中i=i++的解析
    String、StringBuffer、StringBuilder的区别和解析
    java值传递和引用传递
    Java并发(多线程)
    Java Set集合(HashSet、TreeSet)
    Java泛型的基本介绍与使用
    linux自学
    移动端项目准备工作
    响应式布局概念
  • 原文地址:https://www.cnblogs.com/wenyule/p/12214060.html
Copyright © 2011-2022 走看看