Linux中用于进程显示的top命令使用实例集锦
Linux中的top命令显示系统上正在运行的进程。它是系统管理员最重要的工具之一。被广泛用于监视服务器的负载。在本篇中,我们会探索top命令的细节。top命令是一个交互命令。在运行top的时候还可以运行很多命令。我们也会探索这些命令。(注:不同发行版的top命令在各种细节有不同,如果发现不同时,请读你的帮助手册和命令内的帮助。)
1. Top 命令输出:
首先,让我们了解一下输出。top命令会显示系统的很多信息。我们需要理解不同部分输出的意义:默认运行时,top命令会显示如下输出:
(默认显示)
前几行水平显示了不同系统参数的概括,接下来是进程和它们在列中的属性。
1.1 系统运行时间和平均负载:
(显示运行时间)
top命令的顶部显示与uptime命令相似的输出。
这些字段显示:
当前时间
系统已运行的时间
当前登录用户的数量
相应最近5、10和15分钟内的平均负载。
可以使用'l'命令切换uptime的显示。
1.2 任务:
(任务概况)
第二行显示的是任务或者进程的总结。进程可以处于不同的状态。这里显示了全部进程的数量。除此之外,还有正在运行、睡眠、停止、僵尸进程的数量(僵尸是一种进程的状态)。这些进程概括信息可以用't'切换显示。
1.3 CPU 状态:
(CPU状态显示)
下一行显示的是CPU状态。 这里显示了不同模式下的所占CPU时间的百分比。这些不同的CPU时间表示:
us, user: 运行(未调整优先级的) 用户进程的CPU时间
sy,system: 运行内核进程的CPU时间
ni,niced:运行已调整优先级的用户进程的CPU时间
wa,IO wait: 用于等待IO完成的CPU时间
hi:处理硬件中断的CPU时间
si: 处理软件中断的CPU时间
st:这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。
可以使用't'命令切换显示。
1.4 内存使用:
(内存使用情况)
接下来两行显示内存使用率,有点像'free'命令。第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。
物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间。
内存显示可以用'm'命令切换。
1.5 字段/列:
(任务信息列)
在横向列出的系统属性和状态下面,是以列显示的进程。不同的列代表下面要解释的不同属性。
默认上,top显示这些关于进程的属性:
PID
进程ID,进程的唯一标识符
USER
进程所有者的实际用户名。
PR
进程的调度优先级。这个字段的一些值是'rt'。这意味这这些进程运行在实时态。
NI
进程的nice值(优先级)。越小的值意味着越高的优先级。
VIRT
进程使用的虚拟内存。
RES
驻留内存大小。驻留内存是任务使用的非交换物理内存大小。
SHR
SHR是进程使用的共享内存。
S
这个是进程的状态。它有以下不同的值:
D - 不可中断的睡眠态。
R – 运行态
S – 睡眠态
T – 被跟踪或已停止
Z – 僵尸态
%CPU
自从上一次更新时到现在任务所使用的CPU时间百分比。
%MEM
进程使用的可用物理内存百分比。
TIME+
任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。
COMMAND
运行进程所使用的命令。
还有许多在默认情况下不会显示的输出,它们可以显示进程的页错误、有效组和组ID和其他更多的信息。
2. 交互命令:
我们之前说过top是一个交互命令。上一节我们已经遇到了一些命令。这里我们会探索更多的命令。
2.1 ‘h’: 帮助
首先,我们可以用'h'或者'?'显示交互命令的帮助菜单。
(帮助菜单)
2.2 ‘’ 或者 ‘’: 刷新显示
top命令默认在一个特定间隔(3秒)后刷新显示。要手动刷新,用户可以输入回车或者空格。
2.3 ‘A’: 切换交替显示模式
这个命令在全屏和交替模式间切换。在交替模式下会显示4个窗口(译注:分别关注不同的字段):
Def (默认字段组)
Job (任务字段组)
Mem (内存字段组)
Usr (用户字段组)
这四组字段共有一个独立的可配置的概括区域和它自己的可配置任务区域。4个窗口中只有一个窗口是当前窗口。当前窗口的名称显示在左上方。(注:只有当前窗口才会接受你键盘交互命令)
(交替显示)
我们可以用'a'和'w'在4个 窗口间切换。'a'移到后一个窗口,'w'移到前一个窗口。用'g'命令你可以输入一个数字来选择当前窗口。
(在交替显示中选择窗口)
2.4 ‘B’: 触发粗体显示
一些重要信息会以加粗字体显示。这个命令可以切换粗体显示。
(关闭粗体)
2.5 ‘d’ 或‘s’: 设置显示的刷新间隔
当按下'd'或's'时,你将被提示输入一个值(以秒为单位),它会以设置的值作为刷新间隔。如果你这里输入了1,top将会每秒刷新。
(刷新间隔)
2.6 ‘l’、‘t’、‘m’: 切换负载、任务、内存信息的显示
这会相应地切换顶部的平均负载、任务/CPU状态和内存信息的概况显示。
(不显示平均负载)
(不显示CPU概况)
(不显示内存和交换内存概况)
(上面三个全不显示)
2.7 ‘f’: 字段管理
用于选择你想要显示的字段。用'*'标记的是已选择的。
(管理显示列)
上下光标键在字段内导航,左光标键可以选择字段,回车或右光标键确认。
按''移动已排序的字段到左边,''则移动到右边。
2.8 ‘R’: 反向排序
切换反向/常规排序。
2.9 ‘c’: 触发命令
切换是否显示进程启动时的完整路径和程序名。
(完整命令路径)
2.10 ‘i’: 空闲任务
切换显示空闲任务。
(不显示空闲命令)
2.11 ‘V’: 树视图
切换树视图。
(树视图)
2.12 ‘Z’: 改变配色
按下'Z'向用户显示一个改变top命令的输出颜色的屏幕。可以为8个任务区域选择8种颜色。
(定制颜色)
下面显示的是4中颜色显示的top视图。
(彩色显示)
2.13 ‘z’: 切换彩色显示
切换彩色,即打开或关闭彩色显示。
2.14 ‘x’ 或者 ‘y’
切换高亮信息:'x'将排序字段高亮显示(纵列);'y'将运行进程高亮显示(横行)。依赖于你的显示设置,你可能需要让输出彩色来看到这些高亮。
(X 和 Y高亮)
2.15 ‘u’: 特定用户的进程
显示特定用户的进程。你会被提示输入用户名。空白将会显示全部用户。
(raghu的进程)
2.16 ‘n’ 或 ‘#’: 任务的数量
设置最大显示的任务数量
(设置最大显示的任务数量)
2.17 ‘k’: 结束任务
top命令中最重要的一个命令之一。用于发送信号给任务(通常是结束任务)。
(杀死一个任务)
2.18 ‘r’: 重新设置优先级
重新设置一个任务的调度优先级。
3. 命令行选项:
这些命令行选项与上面讨论的命令大多相同。top的输出可以用命令交互操作,但是你也可以带参数运行top来设置你想要的效果。
3.1 -b: 批处理模式
-b选项以批处理模式启动top命令。当你想要在文件中保存输出时是很有用的。
3.2 -c: 命令/程序名 触发:
如上面所讨论到的命令,这个选项会以上次记住的程序/命令显示的状态显示(是否显示完整路径)。
3.3 -d: 设置延迟间隔
设置top的显示间隔(以秒计)。比如。
复制代码
代码如下:
$ top -d 1
将会以1秒的刷新间隔启动top。
3.4 -i: 切换显示空闲进程
这个选项设置top命令的上一次记住的相反的'i'状态。
3.5 -n: 设置迭代数量
用-n选项,你可以设置top退出前迭代的次数。
代码如下:
$ top -n 3
将会在刷新输出3次后退出。
3.6 -p: 监控特定的PID
你可以用-p选项监控指定的PID。PID的值为0将被作为top命令自身的PID。
3.7 -u 或 -U: 用户名 或者 UID
可以用这些选项浏览特定用户的进程。用户名或者UID可以在选项中指定。-p、-u和-U选项是互斥的,同时只可以使用这其中一个选项。当你试图组合使用这些选项时,你会得到一个错误:
代码如下:
$ top -p 28453 -u raghu
top: conflicting process selections (U/p/u)
Linux中的defunct进程(僵尸进程)
每个 Linux进程在进程表里都有一个进入点(entry),核心进程执行该进程时使用到的一切信息都存储在进入点。当用 ps 命令察看系统中的进程信息时,看到的就是进程表中的相关数据。当以fork()系统调用建立一个新的进程后,核心进程就会在进程表中给这个新进程分配一个进入点,然后将相关信息存储在该进入点所...
linux进程互斥锁linux进程互斥
read_ret=read(file_descriptors,PipeBuf,sizeof(PipeBuf));\/\/没阻塞的读 printf(“ReadMessageare:%sn”,PipeBuf);简述Linux进程间通信的几种方式?一、方式1、管道(Pipe)及有名管道(mkpipe):管道可用于具有亲缘关系进程间的通信,有名管道克服了管道没有名字的限制,因此,除具有管道所具有的...
Linux 怎么根据进程号,找对应的进程!
1、Linux根据进程号查询相应的进程信息,可以使用ps命令的-q参数来进行查询。2、举例来说,已知进程号为12840,查询其相应的进程。ps -q 12840 说明:-q参数是ps的快速模式,使用该参数可以从pidlist中快速的读取必要的进程信息。后面接进程号,即pid号。也可以使用如下命令只打印命令,也就是只显示...
Linux进程间通信
linux下进程间通信的几种主要手段简介: 一般文件的I\/O函数都可以用于管道,如close、read、write等等。 实例1:用于shell 管道可用于输入输出重定向,它将一个命令的输出直接定向到另一个命令的输入。比如,当在某个shell程序(Bourne shell或C shell等)键入who│wc -l后,相应shell程序将创建who以及wc两个进程和这...
如何在Linux中查看所有正在运行的进程
Linux和UNIX都支持ps命令,显示所有运行中进程的相关信息。ps命令能提供一份当前进程的快照。如果想状态可以自动刷新,可以使用top命令。ps命令输入下面的ps命令,显示所有运行中的进程:ps aux | less其中,-A:显示所有进程a:显示终端中包括其它用户的所有进程x:显示无控制终端的进程任务:查看系统中的...
如何在Linux中查看所有正在运行的进程
查看Linux中所有正在运行的进程 ,可以参考如下方法:1、通过ps命令的-A或者-e参数来获取系统中所有的进程,这两个参数的作用一样的。2、通过top命令来获取系统中所有的进程任务 。执行top命令后,在tasks一栏会看到总的任务数。
如何在Linux中查看所有正在运行的进程
在命令提示行中输入htop:htop atop工具 atop是一个用来查看Linux系统负载的交互式监控工具。它能展现系统层级的关键硬件资源(从性能角度)的使用情况,如CPU、内存、硬盘和网络。它也可以根据进程层级的CPU和内存负载显示哪个进程造成了特定的负载;如果已经安装内核补丁可以显示每个进程的硬盘和网络负载。
如何在Linux中查看所有正在运行的进程
有三个命令可以查看正在运行的进程: ps: 是比较常用的,可以配合grep命令来查找正在运行的进程 top: 能够动态刷新,显示即时进程CPU和内存的占用率,用于动态监视高资源占用, pstree: 用来查看进程的父子关系
Linux进程后台运行的几种方式
C-a k 这个快捷键杀死当前的窗口,同时也将杀死这个窗口中正在运行的进程。C-a d detach,暂时离开当前session 上面只是基本也是最常用的用法,更多请参考man screen或linux screen 命令详解。需要了解的是,一个用户创建的screen,其他用户(甚至root)通过screen -ls是看不见的。另外,Ctrl+a在bash下...
结束进程Linux结束进程linux
其允许指定要终止的进程的名称,而非PID。#killallhttpd*停止和重启进程有时候只想简单的停止和重启进程。如下:该命令让Linux和缓的执行进程关闭,然后立即重启。在配置应用程序的时候,这个命令很方便,在对配置文件修改后需要重启进程时就可以执行此命令。linux重启系统快捷键?常用的命令有reboot,这个命令...
郟农解通: top命令说白了就是linux实时监视进程的命令:第一个值是进程号,然后用户是root,后面%cpu是cpu占用率,%mem是内存占用率等等,该命令每秒刷新一次.如果不在前台执行该命令则会占用前台,使用ctrl+c 结束监视 .实际用处是看看某个进程的内存,cpu负载率.也可以使用ps命令来查看进程信息,不过ps不是实时的.里面的信息重不重要,这个不好说,要看你怎么用了,你用这些信息他就重要呗,你就是看看你cpu负载率,那就不重要.其实top就相当于你windows的任务管理器,你windows ctrl+alt+.进入任务管理器,然后点到进程那个标签就是了.关于linux的更多资料,请访问《linux就该这么学》官网.
榕江县15330533450: linux top命令是什么意思 - ?
郟农解通: top命令用于显示系统运行的进程信息,作用类似于windows中的任务管理器,只不过top不是图形化的,而是显示实时文本信息统计信息区域的下方显示了各个进程的详细信息.首先来认识一下各列的含义. PID USER PR NI VIRT RES SHR S ...
榕江县15330533450: 在linux中top命令的具体用法是什么??
郟农解通: top命令查看当前刷新进程实时显示 process 的动态top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 例如:输入 top -n 10 后将屏幕显示10次刷新的进程 这个回答应该是完美的吧!!!!
榕江县15330533450: linux的top命令是什么? ?
郟农解通: top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.下面详细介绍它的使用方法. 前5行的统计信息如...
榕江县15330533450: linux怎样使用top命令查看系统状态 - ?
郟农解通: Linux系统可以通过top命令查看系统的CPU、内存、运行时间e799bee5baa6e997aee7ad94e58685e5aeb931333361313935、交换分区、执行的线程等信息.通过top命令可以有效的发现系统的缺陷出在哪里.是内存不够、CPU处理能力不够...
榕江县15330533450: linux查看进程命令?
郟农解通: 下面三条命令都可以用来查看进程: ps -lA 是十分常用的,2113l参数用于5261显示进程的详细信息,A参数用于显示所有的进程4102.可以配合grep命令来查找特定的进程 top 能够显示CPU和内存的占用率,用于1653动态监视高资源占用 pstree 用来查看进程的父子关系 由于能力有限只能回答这些,但是建议查看刘遄老师的《专linux就该这么学》这本比肩鸟哥私房菜属的但与时俱进的工具书
榕江县15330533450: linux top查看的是进程还是线程 - ?
郟农解通: top命令每一行显示的是一个进程,加上-H(Threads toggle)的后缀显示的才是线程.
榕江县15330533450: Linux执行top命令后看到的参数都是什么意思 - ?
郟农解通: PID 每个进程的ID. PPID 每个进程的父进程ID. UID 每个进程所有者的UID . USER 每个进程所有者的用户名. PRI 每个进程的优先级别. NI 该进程的优先级值. SIZE 该进程的代码大小加上数据大小再加上堆栈空间大小的总数.单位...
榕江县15330533450: linux怎样使用top命令查看系统状态 - ?
郟农解通: 命令说明 top 参数 -h:help表示显示帮助的意思 -v:version显示版本的意思,和-h的功能一样 -u:user显示指定用户的进程,例如:top -u root -p:pid显示指定进程,例如:top -p 1 -n:number进入top后,top会定时刷新状态,这个值就是设置刷新...