扩展阅读
  • linux c/c++ IP字符串转换成可比较大小的数字
  • 在win分区上安装linux和独立分区安装linux有什么区别?可以同时安装吗?(两个linux系统)
  • linux哪个版本好?linux操作系统版本详细介绍及选择方案推荐
  • 在虚拟机上安装的linux上,能像真的linux系统一样开发linux程序么?
  • secureCRT下Linux终端汉字乱码解决方法
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在有linux的盘)
  • Linux c字符串中不可打印字符转换成16进制
  • 红旗Linux主机可以通过127.0.0.1访问,但如何是连网的Win2000机器通过Linux的IP去访问Linux
  • Linux Kernel 'sctp_v6_xmit()'函数信息泄露漏洞
  • 安装vmware软件,不用再安装linux系统,就可以模拟linux系统了,然后可以在其上学习一下LINUX下的基本操作 了?
  • linux c下利用srand和rand函数生成随机字符串
  • 我重装window后,把linux的引导区覆盖了,进不了linux怎么办?急啊,望热心的人帮助 (现在没有linux的盘,只有DOS启动盘)
  • Linux c++虚函数(virtual function)简单用法示例代码
  • 如何让win2000和linux共存。我装好WIN2000,再装LINUX7.0,但LILO只能找到LINUX,不能引导WIN2000
  • Docker官方镜像将会使用Alpine Linux替换Ubuntu
  • 在windows中的VMware装了个linux,主板有两个串口,能做windows和linux的串口通信测试么,怎么测试这两个串口在linux是有效
  • Linux下c基于openssl生成MD5的函数
  • 我们网站的服务器从windows2000迁往linux,ASP程序继续使用,可是我连LINUX的皮毛都不了解,大家告诉我LINUX下怎么建网站??
  • linux僵尸(zombie)进程介绍及清除
  • 中文Linux与西文Linus分别哪一个版是权威?I认为是:中科软的白旗Linux与西文的绿帽子Linux!大家的看法呢?
  • Linux/CentOS下的CST和UTC时间的区别以及不一致的解决方法
  • Windows2000和Linux双操作系统,Linux系统有问题,我直接把Linux分区删除后,Windows2000进不去了,怎么办???
  •  
    当前位置:  操作系统>Linux

    linux top命令详解以及top命令的各项使用技巧详细说明

     
    分享到:
        发布时间:2016-10-8  


        本文导语: linux top命令详解析以及top命令的各项参数详细说明 (本文由www.169it.com搜集整理)linux top命令详细介绍 top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似...

     linux top命令详解析以及top命令的各项参数详细说明 (本文由www.169it.com搜集整理)

     linux top命令详细介绍   

          top命令是Linux下常用性能分析工具,能够实时显示系统中各个进程资源占用状况,类似于Windows任务管理器。top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止. 比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.top命令基本上是各个版本的linux的自带命令,例如:CentOS,redhat,ubuntu,fedora等。

    top命令的格式及参数如下

    1)linux top命令及参数基本用法:

    top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...]

    2)linux top命令各项参数用法说明

    d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用s交互命令来改变之。 

    p 通过指定监控进程ID来仅仅监控某个进程的状态。 

    q 该选项将使top没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。 

    S 指定累计模式。 s 使top命令在安全模式中运行。这将去除交互命令所带来的潜在危险。 

    i 使top不显示任何闲置或者僵死进程。 

    c 显示整个命令行而不只是显示命令名。 

    -n :与 -b 搭配,意义是,需要进行几次 top 的输出结果。 

    -p :指定某些个 PID 来进行观察监测而已。 

    在 top 执行过程当中可以使用的按键指令: 

    ? :显示在 top 当中可以输入的按键指令; 

    P :以 CPU 的使用资源排序显示; 

    M :以 Memory 的使用资源排序显示; 

    N :以 PID 来排序喔! 

    T :由该 Process 使用的 CPU 时间累积 (TIME+) 排序。 

    k :给予某个 PID 一个讯号 (signal

    r :给予某个 PID 重新制订一个 nice 值。

    3)top命令执行结果重要列的含义说明

    默认显示的列包括 PID,USERPR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,COMMAND.

    top命令结果各列的含义如下:

    列名    含义
    PID    进程id
    PPID    父进程id
    RUSER    Realusername
    UID    进程所有者的用户id
    USER    进程所有者的用户名
    GROUP    进程所有者的组名
    TTY    启动进程的终端名。不是从终端启动的进程则显示为?
    PR       优先级
    NInice     值。负值表示高优先级,正值表示低优先级
    P        最后使用的CPU,仅在多CPU环境下有意义
    %CPU    上次更新到现在的CPU时间占用百分比
    TIME    进程使用的CPU时间总计,单位秒
    TIME+    进程使用的CPU时间总计,单位1/100秒
    %MEM    进程使用的物理内存百分比
    VIRT    进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
    SWAP    进程使用的虚拟内存中,被换出的大小,单位kb。
    RES    进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
    CODE    可执行代码占用的物理内存大小,单位kb
    DATA    可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
    SHR    共享内存大小,单位kb
    nFLT    页面错误次数
    nDRT    最后一次写入到现在,被修改过的页面数。
    S    进程状态。
    D=    不可中断的睡眠状态
    R=    运行
    S=    睡眠
    T=    跟踪/停止
    Z=    僵尸进程
    COMMAND    命令名/命令行
    WCHAN    若该进程在睡眠,则显示睡眠中的系统函数名

    3)top命令执行结果按照某一列排序

        在命令行提示符执行top命令,输入大写P,则结果按CPU占用降序排序。输入大写M,结果按内存占用降序排序。(注:大写P可以在capslock状态输入p,或者按Shift+p)。默认情况下仅显示比较重要的 PID、USERPR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通过下面的快捷键来更改显示内容

          通过 f 键可以选择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或隐藏对应的列,最后按回车键确定。

    按 o 键可以改变列的显示顺序。按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z 可以将相应的列向左移动。最后按回车键确定。

    按大写的 F 或 O 键,然后按 a-z 可以将进程按照相应的列进行排序。而大写的 R 键可以将当前的排序倒转。


    linux退出top命令方法

    在top命令运行时退出命令有两种方式:

    1. 在top命令运行的过程中按下键盘的q键可以退出。

    2. 在top命令运行的过程中按下键盘的ctrl+c键也可以退出。

    linux TOP命令只查看某个或某些进程的信息 

    linux TOP命令只查看某个某个具体的进程的方法如下:

    top -p 进程ID

    例如查看进程ID为2138的进程命令如下:

    top -p 2138

    linux TOP命令查看指定的多个进程的信息的方法如下:

    top -p 进程ID1,进程ID2, ......  

    例如查看进程ID为2138,2139,2140的多个指定进程命令如下:

    top -p 2138,2139,2140

    linux TOP命令如何按内存占用或者CPU占用进行排序

    1.在linux bash shell命令行提示符执行top命令。

    2.输入键盘上的大写P,则结果按CPU占用降序排序。输入键盘上的大写M,结果按内存占用降序排序。(注:大写P可以在capslock状态输入p,或者按Shift+p)。


    Linux Top命令中Load Average的含义

          top命令中load average显示的是最近1分钟、5分钟和15分钟的系统平均负载。系统平均负载表示系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程树。如果一个进程满足以下条件则其就会位于运行队列中:

      - 它没有在等待I/O操作的结果

      - 它没有主动进入等待状态(也就是没有调用’wait’)

      - 没有被停止(例如:等待终止)

      Update:在Linux中,进程分为三种状态,一种是阻塞的进程blocked process,一种是可运行的进runnable process,另外就是正在运行的进程running process。当进程阻塞时,进程会等待I/O设备数据或者系统调用

      进程可运行状态时,它处在一个运行队列run queue中,与其他可运行进程争夺CPU时间。 系统的load是指正在运行running one和准备好运行runnable one的进程的总数。比如现在系统有2个正在运行的进程,3个可运行进程,那么系统的load就是5。load average就是一定时间内的load数量。


    linux top命令使用举例 

    实例1:每两秒钟更新一次 top ,观察整体信息,-d参数举例

    [root@linux ~]# top -d 2
    top - 18:30:36 up 30 days, 7 min, 1 user, load average: 0.42, 0.48, 0.45
    Tasks: 163 total, 1 running, 161 sleeping, 1 stopped, 0 zombie
    Cpu(s): 4.7% us, 4.0% sy, 6.3% ni, 82.5% id, 0.4% wa, 0.1% hi, 2.0% si
    Mem: 1033592k total, 955252k used, 78340k free, 208648k buffers
    Swap: 1052216k total, 728k used, 1051488k free, 360248k cached
    <==如果加入 k 或 r 时,就会有相关的字样出现在这里
     
    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    3981 apache 34 19 84012 11m 7352 S 17.3 1.2 0:00.09 httpd
    1454 mysql 16 0 289m 40m 2228 S 3.8 4.0 115:01.32 mysqld
    3985 dmtsai 15 0 2148 904 668 R 3.8 0.1 0:00.03 top
    1 root 16 0 3552 552 472 S 0.0 0.1 0:08.90 init
    2 root RT 0 0 0 0 S 0.0 0.0 0:52.76 migration/0
    3 root 34 19 0 0 0 S 0.0 0.0 0:03.01 ksoftirqd/0

     实例2:将 top 的信息进行 2 次,然后将结果输出到 /tmp/top.txt,-B -N参数

    [root@linux ~]# top -b -n 2 > /tmp/top.txt

    实例3:假设 9999 是一个已经存在的 PID ,用top命令仅观察指定pid的程序的-p参数用法

    [root@linux ~]# top -d 2 -p 9999
    top - 13:53:00 up 51 days, 2:27, 1 user, load average: 0.00, 0.00, 0.00
    Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
    Cpu(s): 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si
    Mem: 385676k total, 371760k used, 13916k free, 131164k buffers
    Swap: 1020116k total, 880k used, 1019236k free, 95772k cached
     
    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    9999 root 16 0 5396 1544 1244 S 0.0 0.4 0:00.07 bash

     示例4:在linux中查看指定进程的线程数的-H参数用法

    top -H

    手册中说:-H : Threads toggle

    加上这个选项启动top,top一行显示一个线程。否则,它一行显示一个进程。

    在linux中查看mysql线程的top命令,mysql的pid为2308

    top -H -p 2308


    相关文章推荐:
  • Linux/centos/redhat下各种压缩解压缩方式详解
  • linux 2.4 内核软中断详解?
  • linux c malloc函数定义及用法详解
  • 哪有LINUX命令详解下??
  • linux下进程占用内存空间详解
  • 大家推荐几本详解Linux或unix 操作系统源代码的书籍!!!!
  • Linux下NFS服务配置详解
  • 如何在Linux下使用脚本实现程序的自动重启!望各位详解!
  • SSL握手通信详解及linux下c/c++ SSL Socket代码举例
  • 求linux kernel 2.6.30详解
  • 读了tcpip详解后有问题,上边的源码是linux哪个版本的?
  • 哪有linux源码的详解?
  • linux经常用到的命令详解
  • 第一次安装linux,提示找不到硬盘驱动,求详解!
  • linux加入windows域 是什么意思?求详解,加入后的效果是怎么样的
  • 求《LINUX设备驱动开发详解》电子版
  • 解析Linux系统中JVM内存2GB上限的详解
  • 求linux下 ./configure;make;make install一系列命令的详解
  • linux c 查找使用库的cflags与libs的方法详解
  • linux命令详解之挂载光驱的方法
  • linux获取系统启动时间示例详解


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2017,169IT.COM,E-mail:www_169it_com#163.com(请将#改为@)

    浙ICP备11055608号