简介

top命令是Linux下罕用的性能剖析工具,可能实时显示零碎中各个过程的资源占用情况,相似于Windows的工作管理器。

top显示零碎以后的过程和其余情况,是一个动态显示过程,即能够通过用户按键来一直刷新以后状态.如果在前台执行该命令,它将独占前台,直到用户终止该程序为止. 比拟精确的说,top命令提供了实时的对系统处理器的状态监督.它将显示零碎中CPU最“敏感”的工作列表.该命令能够按CPU应用.内存应用和执行工夫对工作进行排序;而且该命令的很多个性都能够通过交互式命令或者在集体定制文件中进行设定.

上面具体介绍它的应用办法。

参数含意

top - 01:06:48 up  1:22,  1 user,  load average: 0.06, 0.60, 0.48Tasks:  29 total,   1 running,  28 sleeping,   0 stopped,   0 zombieCpu(s):  0.3% us,  1.0% sy,  0.0% ni, 98.7% id,  0.0% wa,  0.0% hi,  0.0% siMem:    191272k total,   173656k used,    17616k free,    22052k buffersSwap:   192772k total,        0k used,   192772k free,   123988k cachedPID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND1379 root      16   0  7976 2456 1980 S  0.7  1.3   0:11.03 sshd14704 root      16   0  2128  980  796 R  0.7  0.5   0:02.72 top1 root      16   0  1992  632  544 S  0.0  0.3   0:00.90 init2 root      34  19     0    0    0 S  0.0  0.0   0:00.00 ksoftirqd/03 root      RT   0     0    0    0 S  0.0  0.0   0:00.00 watchdog/0

统计信息区前五行是零碎整体的统计信息。第一行是工作队列信息,同 uptime 命令的执行后果。其内容如下:

01:06:48    以后工夫up 1:22    零碎运行工夫,格局为时:分1 user    以后登录用户数load average: 0.06, 0.60, 0.48    零碎负载,即工作队列的均匀长度。三个数值别离为 1分钟、5分钟、15分钟前到当初的平均值。

第二、三行为过程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。内容如下:

total 过程总数running 正在运行的过程数sleeping 睡眠的过程数stopped 进行的过程数zombie 僵尸过程数Cpu(s): 0.3% us 用户空间占用CPU百分比1.0% sy 内核空间占用CPU百分比0.0% ni 用户过程空间内扭转过优先级的过程占用CPU百分比98.7% id 闲暇CPU百分比0.0% wa 期待输入输出的CPU工夫百分比0.0%hi:硬件CPU中断占用百分比0.0%si:软中断占用百分比0.0%st:虚拟机占用百分比

最初两行为内存信息。内容如下:

Mem:191272k total    物理内存总量173656k used    应用的物理内存总量17616k free    闲暇内存总量22052k buffers    用作内核缓存的内存量Swap: 192772k total    替换区总量0k used    应用的替换区总量192772k free    闲暇替换区总量123988k cached    缓冲的替换区总量,内存中的内容被换出到替换区,而后又被换入到内存,但应用过的替换区尚未被笼罩,该数值即为这些内容已存在于内存中的替换区的大小,相应的内存再次被换出时可不用再对替换区写入。

过程信息区统计信息区域的下方显示了各个过程的详细信息。首先来认识一下各列的含意。

序号  列名    含意a    PID     过程idb    PPID    父过程idc    RUSER   Real user named    UID     过程所有者的用户ide    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+RESp    SWAP    过程应用的虚拟内存中,被换出的大小,单位kb。q    RES     过程应用的、未被换出的物理内存大小,单位kb。RES=CODE+DATAr    CODE    可执行代码占用的物理内存大小,单位kbs    DATA    可执行代码以外的局部(数据段+栈)占用的物理内存大小,单位kbt    SHR     共享内存大小,单位kbu    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 列。能够通过上面的快捷键来更改显示内容。

更改显示内容通过 f 键能够抉择显示的内容。按 f 键之后会显示列的列表,按 a-z 即可显示或暗藏对应的列,最初按回车键确定。
按 o 键能够扭转列的显示程序。按小写的 a-z 能够将相应的列向右挪动,而大写的 A-Z 能够将相应的列向左挪动。最初按回车键确定。
按大写的 F 或 O 键,而后按 a-z 能够将过程依照相应的列进行排序。而大写的 R 键能够将以后的排序倒转。

命令应用

top应用格局

top [-] [d] [p] [q] [c] [C] [S] [s] [n]

参数阐明

d 指定每两次屏幕信息刷新之间的工夫距离。当然用户能够应用s交互命令来扭转之。 p 通过指定监控过程ID来仅仅监控某个过程的状态。 q 该选项将使top没有任何提早的进行刷新。如果调用程序有超级用户权限,那么top将以尽可能高的优先级运行。 S 指定累计模式 s 使top命令在平安模式中运行。这将去除交互命令所带来的潜在危险。 i 使top不显示任何闲置或者僵死过程。 c 显示整个命令行而不只是显示命令名 

其余实用命令
上面介绍在top命令执行过程中能够应用的一些交互命令。从应用角度来看,纯熟的把握这些命令比把握选项还重要一些。这些命令都是单字母的,如果在命令行选项中应用了s选项,则可能其中一些命令会被屏蔽掉。

Ctrl+L 擦除并且重写屏幕。 h或者? 显示帮忙画面,给出一些简短的命令总结阐明。 k       终止一个过程。零碎将提醒用户输出须要终止的过程PID,以及须要发送给该过程什么样的信号。个别的终止过程能够应用15信号;如果不能失常完结那就应用信号9强制完结该过程。默认值是信号15。在平安模式中此命令被屏蔽。 i 疏忽闲置和僵死过程。这是一个开关式命令。 q 退出程序。 r 重新安排一个过程的优先级别。零碎提醒用户输出须要扭转的过程PID以及须要设置的过程优先级值。输出一个正值将使优先级升高,反之则能够使该过程领有更高的优先权。默认值是10。 S 切换到累计模式。 s 扭转两次刷新之间的延迟时间。零碎将提醒用户输出新的工夫,单位为s。如果有小数,就换算成m s。输出0值则零碎将一直刷新,默认值是5 s。须要留神的是如果设置太小的工夫,很可能会引起一直刷新,从而基本来不及看清显示的状况,而且零碎负载也会大大增加。 f或者F 从以后显示中增加或者删除我的项目。 o或者O 扭转显示我的项目的程序。 l 切换显示均匀负载和启动工夫信息。 m 切换显示内存信息。 t 切换显示过程和CPU状态信息。 c 切换显示命令名称和残缺命令行。 M 依据驻留内存大小进行排序。 P 依据CPU应用百分比大小进行排序。 T 依据工夫/累计工夫进行排序。 W 将以后设置写入~/.toprc文件中。这是写top配置文件的举荐办法。

附罕用操作:

top   //每隔5秒显式所有过程的资源占用状况top -d 2  //每隔2秒显式所有过程的资源占用状况top -c  //每隔5秒显式过程的资源占用状况,并显示过程的命令行参数(默认只有过程名)top -p 12345 -p 6789//每隔5秒显示pid是12345和pid是6789的两个过程的资源占用状况top -d 2 -c -p 123456 //每隔2秒显示pid是12345的过程的资源应用状况,并显式该过程启动的命令行参数

转自:http://www.w3pop.com/learn/vi...