LINUX top命令详解

top常用参数如下:

-d :后面可以接秒数,就是整个程序画面更新的秒数。预设是 5 秒;

-b :以批次的方式执行 top ,还有更多的参数可以使用喔!

通常会搭配数据流重导向来将批次的结果输出成为档案。

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

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

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

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

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

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

N :以 PID 来排序--从大到小

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

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

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

常用命令组合:

[oracle@bys3 ~]$ top -d 2   ---两秒刷新一次

[oracle@bys3 ~]$ top -bn 1 >abc.log    ---将输出写入到指定文件

[oracle@bys3 ~]$ top -d 2 -p  2955     ---只输出指定进程的信息

top - 23:57:41 up  6:03,  4 users,  load average: 0.02, 0.02, 0.00

Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie

Cpu(s):  0.5%us, 16.4%sy,  0.0%ni, 83.1%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st

Mem:   1026688k total,   918396k used,   108292k free,    38260k buffers

Swap:  4249144k total,        0k used,  4249144k free,   627300k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

2955 oracle    -2   0  365m  13m  12m S 13.0  1.4  44:39.75 oracle

实用----使用top命令后,还可以输入 P M N T等对输出信息进去排序--注意是大写。?号可以调出帮助。

TOP命令输出信息的解读:

top 可以持续的监测整个系统的程序工作状态,默认每5秒刷新一次。

输出分为上下两个部分:上部6行:系统概况。下部:每个process使用的资源情况,

默认只使用top命令时此部分输出的process行数不是固定的,按窗口大小来显示的,窗口越大显示越多。

如果使用top -bn 1这样,只输出一次结果,则会将所有进程信息都输出--此时可以将输出重定向到文件文件查看。

示例:

[oracle@bys3 ~]$ top -bn 1

top - 23:30:46 up  5:36,  4 users,  load average: 0.00, 0.00, 0.00

Tasks: 138 total,   1 running, 137 sleeping,   0 stopped,   0 zombie

Cpu(s):  1.0%us, 19.2%sy,  0.3%ni, 76.1%id,  3.3%wa,  0.0%hi,  0.1%si,  0.0%st

Mem:   1026688k total,   933452k used,    93236k free,    35964k buffers

Swap:  4249144k total,        0k used,  4249144k free,   638360k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

2955 oracle    -2   0  365m  13m  12m S 11.7  1.4  41:13.71 oracle

1 root      20   0  2160  572  484 S  0.0  0.1   0:02.76 init

2 root      20   0     0    0    0 S  0.0  0.0   0:00.01 kthreadd

以下输出省略。

上部分--前五行:

第一行:

top - 23:30:46 up  5:36,  4 users,  load average: 0.00, 0.00, 0.00

和uptime输出一样

[oracle@bys3 ~]$ uptime

23:36:07 up  5:41,  4 users,  load average: 0.00, 0.00, 0.00

系统的当前时间,系统启动时间,当前登陆的用户数,1、5、10分钟的CPU负载情况-一般不过1

第二行:

Tasks: 138 total,   1 running, 137 sleeping,   0 stopped,   0 zombie

更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/Linux/

当前总进程数量,正在运行的,睡眠中的,停止的,zombie僵尸进程数-非0要注意查看

第三行:

Cpu(s):  1.0%us, 19.2%sy,  0.3%ni, 76.1%id,  3.3%wa,  0.0%hi,  0.1%si,  0.0%st

用户进程占用的CPU比例,内核战胜CPU比例,改变过优先级的用户进程占用CPU百分比,空闲CPU百分比,

等待输入输出的CPU时间百分比

第四行:

Mem:   1026688k total,   933452k used,    93236k free,    35964k buffers

物理内存总量-有单位K,已经使用的,空闲的,内核缓冲的内在量

第五行:

Swap:  4249144k total,        0k used,  4249144k free,   638360k cached

SWAP空间总大小-单位K,已经使用的,空闲的,缓冲的交换区总量--使用过又未被覆盖的SWAP

###############################################

第二部分:各进程详细信息--进程各列的具体含义

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND

2955 oracle    -2   0  365m  13m  12m S 11.7  1.4  41:13.71 oracle

进程信息各列的具体含义:

PID              进程ID,

USER         进程所有者名,

PR               Priority 的简写,程序的优先执行顺序,越小越早被执行

NI                NICE值-负高优先,

VIRT           使用虚拟内存总量;

RES           进程使用的、未被换出的物理内存大小

SHR            共享内存大小。

S                  进程状态-R运行-S睡眠-T跟踪/停止-Z僵尸-D不可中断的睡眠状态

%CPU        上次更新到现在的CPU时间占用百分比

%MEM         进程使用的物理内存百分比

TIME+          进程使用的CPU时间总计,单位1/100秒-毫秒

COMMAND 命令名/命令行

时间: 2024-11-08 17:56:13

LINUX top命令详解的相关文章

linux top命令详解(转)

linux top命令详解(转) top命令和ps命令的基本作用是相同的,显示系统当前的进程和其它状况:但是top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如? 前台执行该命令,它将独占前台,直到用户终止该程序为止. 比较准确的说,top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最"敏感"的任务列表.该命令可以按CPU使用.内存使用.执行时间对任务进行排序:而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定.在后面的介绍中将把命令参数

Linux top命令详解 Linux top命令怎么用

使用权限:所有使用者. 语法 top [-] [d delay] [q] [c] [S] [s] [i] [n] [b] 参数说明: d : 改变显示的更新速度,或是在交谈式指令列( interactive command)按 s q : 没有任何延迟的显示速度,如果使用者是有 superuser 的权限,则 top 将会以最高的优先序执行 c : 切换显示模式,共有两种模式,一是只显示执行档的名称,另一种是显示完整的路径与名称S : 累积模式,会将己完成或消失的子行程 ( dead child

Linux管道命令详解

Linux的管道命令是'|',通过它可以对数据进行连续处理,其示意图如下: 注意: 1)管道命令仅为处理标准输出(即正确的输出),对于标准错误输出,将忽略 2)管理命令的后一个命令必须能将前一个命令的标准输出变为它的标准输入才可以,如 less,more,head,tail就可以,而ls, cp, mv就不行. 下面我们看几个管道命令. cut - 列选取命令 cut以行为单位,根据分隔符把行分成若干列,这样我们就可以指定选取哪些列了. cut -d '分隔字符' -f 选取的列数 echo $

Linux mktemp命令详解 Linux mktemp命令怎么用

mktemp建立的一个暂存文件,供shell script使用. 语法 mktemp [-qu][文件名参数] 参数: -q  执行时若发生错误,不会显示任何信息. -u  暂存文件会在mktemp结束前先行删除. [文件名参数]  文件名参数必须是以"自订名称.XXXXXX"的格式. 实例 使用mktemp 命令生成临时文件时,文件名参数应当以"文件名.XXXX"的形式给出,mktemp 会根据文件名参数建立一个临时文件.在命令行提示符输入如下命令: mktemp

Linux cd命令详解 Linux cd命令怎么用

其中 dirName 表示法可为绝对路径或相对路径.若目录名称省略,则变换至使用者的 home 目录 (也就是刚 login 时所在的目录). 另外,"~" 也表示为 home 目录 的意思,"." 则是表示目前所在的目录,".." 则表示目前目录位置的上一层目录. 语法 cd [dirName] dirName:要切换的目标目录. 实例 跳到 /usr/bin/ : cd /usr/bin 跳到自己的 home 目录 : cd ~ 跳到目前目录

Linux declare命令详解 Linux declare命令怎么用

declare为shell指令,在第一种语法中可用来声明变量并设置变量的属性([rix]即为变量的属性),在第二种语法中可用来显示shell函数.若不加上任何参数,则会显示全部的shell变量与函数(与执行set指令的效果相同). 语法 declare [+/-][rxi][变量名称=设置值] 或 declare -f 参数说明: +/-  "-"可用来指定变量的属性,"+"则是取消变量所设的属性. -f  仅显示函数. r  将变量设置为只读. x  指定的变量会

Linux od命令详解 Linux od命令怎么用

    od指令会读取所给予的文件的内容,并将其内容以八进制字码呈现出来.     语法 od [-abcdfhilovx][-A <字码基数>][-j <字符数目>][-N <字符数目>][-s <字符串字符数>] [-t <输出格式>][-w <每列字符数>][--help][--version][文件...] 参数:             -a  此参数的效果和同时指定"-ta"参数相同.        

Linux slocate命令详解 Linux slocate命令怎么用

slocate本身具有一个数据库,里面存放了系统中文件与目录的相关信息. 语法 slocate [-u][--help][--version][-d <目录>][查找的文件] 参数: -d<目录>或--database=<目录> 指定数据库所在的目录. -u 更新slocate数据库. --help 显示帮助. --version 显示版本信息. 实例 使用指令"slocate"显示文件名中含有关键字"fdisk"的文件路径信息,

Linux mtools命令详解 Linux mtools命令怎么用

mtools为MS-DOS文件系统的工具程序,可模拟许多MS-DOS的指令.这些指令都是mtools的符号连接,因此会有一些共同的特性. 语法 mtools 参数说明: -a 长文件名重复时自动更改目标文件的长文件名. -A 短文件名重复但长文件名不同时自动更改目标文件的短文件名. -o 长文件名重复时,将目标文件覆盖现有的文件. -O 短文件名重复但长文件名不同时,将目标文件覆盖现有的文件. -r 长文件名重复时,要求用户更改目标文件的长文件名. -R 短文件名重复但长文件名不同时,要求用户更