`
isiqi
  • 浏览: 16485073 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论
阅读更多

top监控工具可以显示CPU占用率为前几位的进程,并提供CPU的实时活动情况

top监控命令在FreeBSD上的使用
top监控工具可以显示CPU占用率为前几位的进程,并提供CPU的实时活动情况
语法:top [-s time] [-d count] [-q] [-h] [-n number] [-f filename] [-o field][-U usename]
-S 将系统进程信息也显示到屏幕上,默认情况下,top不显示系统进程的信息
-b 使用”batch”方式运行top。在此种方式下,所有来自终端的输入都将被忽略,但交互键(比如C and )
依然起使用。这是运行top输出到哑终端或输到非终端的默认运行方式
-i 使用交互运行top程序,在此种方式下,命令会被进程立即被处理。不管命令是不是能被top所理解执行,
屏幕都将立即更新。这是top的默认运行方式。
-I 不显示空闲进程,在默认情况下,top连同空闲进程的信息一同输出。
-t 不显示top进程自己
-n 不以交互方式使用top命令,作用同”batch”方式。
-s time 设置屏幕刷新的延时,单位为秒,默认值5秒
-d count 设置屏幕刷新的次数,刷新显示完count次后退出
-q 如果经过nice授权,使用-q可以使top运行的更快一些,这样,在系统反应缓慢的时候,可以会更快的找到存在的问题。
此选项在FreeBSD下只有root可以使用
-n number 设置每一屏幕显示的进程数目,number值超过进程最大数目,则设置无效
-u 用显示User ID代替username,提高命令运行速度
-v 显示程序版本号后,立即退出。如果要在top运行时查看版本号,输入”?”
-o 以指定的字段排序显示进行信息。字段名必须为输入在屏幕的可见列的名字,而且必须是小写。
比如”cpu”、”size”、”res”与”time”,但不同的操作系统间有许多的不同。注意不是每个UNIX操
作系统都支持此选项。

-U 只显示属于后面所跟用户名的进程的信息
屏幕控制命令
交换方式下,可以使用以下命令控制top
^L – 刷新屏幕
q – 退出
h or ? – 显示帮助
d – 修改刷新显示的次数
e – 显示最近”kill”或”renice”命令所产生的错误
i – 显示/不显示处于空闲的进程
I – 作用同 ‘i’
k – kill 进程; 发送一个信号到某个进程列表
n or # – 修改显示进程的数目
o – 以特定的字段排序 (pri, size, res, cpu, time)
r – renice 一个进程
s – 修改输入的更新时间
u – 只显示属于某个用户的进程 (+ selects all users)
顺序显示下面三个常规的信息

一. 系统信息:

last pid: 22228; load averages: 0.25, 0.97, 1.56 up 44+03:25:56 21:39:36
274 processes: 3 running, 259 sleeping, 12 zombie
CPU states: 2.9% user, 0.0% nice, 4.2% system, 0.4% interrupt, 92.5% idle
Mem: 483M Active, 120M Inact, 222M Wired, 25M Cache, 112M Buf, 153M Free
Swap: 2048M Total, 143M Used, 1905M Free, 6% Inuse

首部的几行显示系统的几个信息,其中包括:
+ Load averages:1分钟、5分钟和15分钟内运行的负载平均数
+ system:系统名和当前日期.
一般来说只要每个CPU的当前活动进程数不大于 3那么系统的性能就是良好的,如果每个CPU的任务数大于5,
那么就表示这台机器的性能有严重问题
+ 最近一次更新时存在的进程总数,并分别列出run(运行)、sleep(睡眠)、idle(停止)和zomb(‘僵尸’)状态的进程数
+ CPU state:用户占用时间的百分比、系统占用CPU时间的百分比、被nice命令改变优先级的任务占用的CPU时间百分比、以及CPU空闲时间的百分比。
(被nice命令改变优先级的任务仅指那些nice值为负的任务)。花费在被nice命令改变优先级的任务上的时间也将被计算在系统和用户时间内,因此
整个时间加起来可能会超过百分之百

二.内存信息
Memory: 610008K (24424K) real, 995344K (30304K) virtual, 12588K free Page# 1/4
Memory:关于内存使用情况的统计,包括实际(real)内存的活动值/总值,虚拟(virtual)内存的使用值/总值,剩余的内存。

DESCRIPTION OF MEMORY
Mem: 9220K Active, 1032K Inact, 3284K Wired, 1MB Cache, 2M Buf, 1320K
Free Swap: 91M Total, 79M Free, 13% Inuse, 80K In, 104 K Out

K: Kilobyte(K)

M: Megabyte(兆)

%: 1/100(百分比)

Active:
活动页的数目

Inact: 非活动页的数目

Wired: 已经被写入页的数目, 包括缓存文件数据页码

Cache: 被用于 VM-level 磁盘缓冲的页的数目

Buf: 被用于 BIO-level 磁盘缓冲的页的数目

Free: 空闲页

Total: 总的可使用交换区

Free: 总共空闲的交换区

Inuse: 交换区的使用情况

In: pages paged in from swap devices (最近的时间间隔)

Out: pages paged out to swap devices (最近的时间间隔)

三.进程信息
CPU PID USERNAME PRI NI SIZE RES STATE TIME %WCPU %CPU COMMAND
1 33 root 152 20 0K 0K run 153:43 1.18 1.18 vxfsd
0 1751 root 154 20 2500K 868K sleep 2084:19 0.52 0.52 ARMServer
0 1730 root 154 20 4500K 332K sleep 1664:55 0.44 0.44 acactmgr
列出系统里每一个处理器的信息,当信息在一个屏幕内无法显示时,会被分成多个屏幕显示,可以前面提到l,k和t命令查看
(1)CPU:处理器号(仅当多处理器系统时列出)
(2)PID:进程号
(3)USERNAME:用户名
(4)PRI:任务的优先级
(5)NICE:任务的nice值,一个具有较低值的进程在系统上将具有优先权。可以通过改变nice值提高某些进程速度,但是这实际上是一种交易,因为那些nice值被升高的进程此时将运行得很慢。
(6)SIZE:任务的代码加上数据再加上栈空间的大小。
(7)RES:任务使用的物理内存的总数量。
(8)STATE:任务的状态
(9)TIME:自任务开始时使用的总CPU时间,单位为秒,如153:43,对应是153秒43毫秒
(10)%WCPU:进程的CPU利用率权重百分比
(11)%CPU:进程的原始的CPU利用率百分比,自上一次屏幕刷新以来任务占用CPU 时间的份额
(12)COMMAND:启动进程的命令名。如果名字太长而不能在一行显示时,它将被截短


下面是该命令的语法格式:

top [-] [d delay] [q] [c] [s] [S] [i]

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

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

S 指定累计模式。

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

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

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

top命令显示的项目很多,默认值是每5秒更新一次,当然这是可以设置的。显示的各项目为:

uptime 该项显示的是系统启动时间、已经运行的时间和三个平均负载值(最近1秒,5秒,15秒的负载值)。

processes 自最近一次刷新以来的运行进程总数。当然这些进程被分为正在运行的,休眠的,停止的等很多种类。进程和状态显示可以通过交互命令t来实现。

CPU states 显示用户模式,系统模式,优先级进程(只有优先级为负的列入考虑)和闲置等各种情况所占用CPU时间的百分比。优先级进程所消耗的时间也被列入到用户和系统的时间中,所以总的百分比将大于100%。

Mem 内存使用情况统计,其中包括总的可用内存,空闲内存,已用内存,共享内存和缓存所占内存的情况。

Swap 交换空间统计,其中包括总的交换空间,可用交换空间,已用交换空间。

PID 每个进程的ID。

PPID 每个进程的父进程ID。

UID 每个进程所有者的UID 。

USER 每个进程所有者的用户名。

PRI 每个进程的优先级别。

NI 该进程的优先级值。

SIZE 该进程的代码大小加上数据大小再加上堆栈空间大小的总数。单位是KB。

TSIZE 该进程的代码大小。对于内核进程这是一个很奇怪的值。

DSIZE 数据和堆栈的大小。

TRS 文本驻留大小。

D 被标记为“不干净”的页项目。

LIB 使用的库页的大小。对于ELF进程没有作用。

RSS 该进程占用的物理内存的总数量,单位是KB。

SHARE 该进程使用共享内存的数量。

STAT 该进程的状态。其中S代表休眠状态;D代表不可中断的休眠状态;R代表运行状态;Z代表僵死状态;T代表停止或跟踪状态。

TIME 该进程自启动以来所占用的总CPU时间。如果进入的是累计模式,那么该时间还包括这个进程子进程所占用的时间。且标题会变成CTIME。

%CPU 该进程自最近一次刷新以来所占用的CPU时间和总时间的百分比。

%MEM 该进程占用的物理内存占总内存的百分比。

COMMAND 该进程的命令名称,如果一行显示不下,则会进行截取。内存中的进程会有一个完整的命令行。

下面介绍在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命令是一个功能十分强大的监控系统的工具,尤其对于系统管理员而言更是如此。一般的用户可能会觉得ps命令其实就够用了,但是top命令的强劲功能确实提供了不少方便。下面来看看实际使用的情况。

例23] 键入top命令查看系统状况

<ccid_nobr></ccid_nobr>
<ccid_code></ccid_code>  $ top
  1:55pm up 7 min, 4 user, load average:0.07,0.09,0.06
  29 processes:28 sleeping, 1 running, 0 zombie, 0 stopped
  CPU states: 4.5% user, 3.6% system, 0.0% nice, 91.9% idle
  Mem: 38916K av, 18564K used, 20352K free, 11660K shrd, 1220K buff
  Swap: 33228K av, 0K used, 33228K free, 11820K cached
  PID USER PRI
TIME COMMAND
  363 root 14 0 708 708 552 R 0 8.1 1.8 0:00 top
  1 root 0 0 404 404 344 S 0 0.0 1.0 0:03 init
  2 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 kflushd
  3 root -12 -12 0 0 0 SW< 0 0.0 0.0 0:00 kswapd
  4 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 md_thread
  5 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 md_thread
  312 root 1 0 636 636 488 S 0 0.0 1.6 0:00 telnet
  285 root 6 0 1140 1140 804 S 0 0.0 2.9 0.00 bash
  286 root 0 0 1048 1048 792 S 0 0.0 2.6 0.00 bash
  25 root 0 0 364 364 312 S 0 0.0 0.9 0.00 kerneld
  153 root 0 0 456 456 372 S 0 0.0 1.1 0.00 syslogd
  160 root 0 0 552 552 344 S 0 0.0 1.4 0.00 klogd
  169 daemon 0 0 416 416 340 S 0 0.0 1.0 0.00 atd
  178 root 2 0 496 496 412 S 0 0.0 1.2 0.00 crond
  187 bin 0 0 352 352 284 S 0 0.0 0.9 0.00 portmap
  232 root 0 0 500 500 412 S 0 0.0 1.2 0.00 rpc.mountd
  206 root 0 0 412 412 344 S 0 0.0 1.0 0.00 inetd
  215 root 0 0 436 436 360 S 0 0.0 1.1 0.00 icmplog

第一行的项目依次为当前时间、系统启动时间、当前系统登录用户数目、平均负载。第二行为进程情况,依次为进程总数、休眠进程数、运行进程数、僵死进程数、终止进程数。第三行为CPU状态,依次为用户占用、系统占用、优先进程占用、闲置进程占用。第四行为内存状态,依次为平均可用内存、已用内存、空闲内存、共享内存、缓存使用内存。第五行为交换状态,依次为平均可用交换容量、已用容量、闲置容量、高速缓存容量。然后下面就是和ps相仿的各进程情况列表了。

总的来说,top命令的功能强于ps,但需要长久占用前台,所以用户应该根据自己的情况来使用这个命令。

分享到:
评论

相关推荐

    Linux top 命令详解

    "Linux top 命令详解" Linux top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。下面详细介绍它的使用方法。 认识 top 的显示结果 --------------...

    db2top命令详解

    ### db2top命令详解 #### 一、概述 db2top是IBM Alphaworks推出的一款功能强大的实时监控工具,用于监测复杂的DB2环境。它不仅适用于多分区数据库(Database Partitioning Feature,简称DPF)环境,同时也适用于非...

    top命令详解.txt

    在深入探讨“top命令详解”之前,我们先来理解一下top命令的基本概念及其在系统监控中的重要性。top命令是Unix、Linux等类Unix操作系统中一个非常强大的实时进程监测工具,它提供了系统运行状态的动态视图,包括CPU...

    ubuntu中top命令详解

    在Linux系统中,`top`命令是一个非常强大的实时系统监控工具,尤其在Ubuntu等基于Linux的发行版中广泛使用。`top`命令提供了系统运行状态的动态视图,包括CPU使用情况、内存使用情况、任务(进程)状态以及系统负载...

    top命令详解 标题还不够详细吗

    ### Top 命令详解 #### 一、Top 命令概述 `top` 命令是 Linux 系统中一个非常重要的系统监控工具,它可以实时地显示系统中各个进程的资源占用状况,包括 CPU 使用率、内存使用情况等。通过 `top` 命令,用户可以...

    linux top命令详解

    在Linux操作系统中,`top`命令是一个实时动态显示系统状态的工具,它是系统管理员监控系统资源使用情况的重要手段。本文将深入解析`top`命令的使用,包括其基本功能、参数选项以及如何解读其输出结果。 `top`命令...

    Linux运维-运维课程运维基本功d10-计划任务&进程检测与控制-07-top命令详解(上).mp4

    Linux运维-运维课程运维基本功d10-计划任务&进程检测与控制-07-top命令详解

    Linux运维-运维课程运维基本功d10-计划任务&进程检测与控制-08-top命令详解(中).mp4

    Linux运维-运维课程运维基本功d10-计划任务&进程检测与控制-08-top命令详解

    Linux运维-运维课程运维基本功d10-计划任务&进程检测与控制-09-top命令详解(下).mp4

    Linux运维-运维课程运维基本功d10-计划任务&进程检测与控制-09-top命令详解

    linux中top命令详解

    top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。 top显示系统当前的进程和其他状况,是一个动态显示过程,即可以通过用户按键来不断刷新当前状态.如果在...

    top命令详解1

    `top` 命令是Linux系统中一个强大的实时系统监控工具,用于查看系统的整体运行状态,包括CPU使用情况、内存使用情况以及各个进程的资源消耗。它可以帮助系统管理员了解系统负载、进程行为以及资源分配,从而进行问题...

    linux top命令详解与输出结果说明

    ### Linux top 命令详解与输出结果说明 #### top 命令概述 `top` 命令是 Linux 下一个非常强大的实时性能监控工具,它可以动态地展示系统中各个进程的资源占用情况,包括 CPU 使用率、内存使用量等关键指标。这使得...

    按内存占用排序和按CPU占用排序的Linux TOP命令.docx

    Linux TOP 命令详解 Linux TOP 命令是系统维护和电脑内存维护的重要工具之一。它可以帮助系统管理员实时监控系统的 CPU 和内存使用情况,并对进程进行排序和管理。本文将详细介绍 Linux TOP 命令的使用方法和参数...

    TOP命令实例详解

    #### 三、交互命令详解 `top`命令支持多种交互式操作,下面是一些常用的命令: ##### 3.1 `h`或`?`: 显示帮助菜单 按下`h`或`?`键可以查看`top`命令的支持命令列表。 ##### 3.2 回车或空格键: 刷新显示 默认...

    db2top资源查看命令详解

    ### DB2TOP 资源查看命令详解 #### 命令概述 `db2top` 是 IBM DB2 数据库管理系统中的一个性能监控工具,它主要用于监控和诊断 DB2 UDB(Universal Database)数据库在 DPF(Distributed Partitioned File System)...

    top指令参数详解

    top指令参数详解 top指令是 Unix/Linux 系统中最流行的性能分析工具之一,系统管理员可以使用 top 命令来监视进程和 Linux 系统的整体性能。下面是 top 指令的详细参数解释: -d [delay]:改变显示的更新速度。...

    Linux系统top命令的使用方法介绍.pdf

    **Linux系统的top命令详解** 在Linux操作系统中,`top`命令是一个实时动态显示系统状态的工具,它能够提供关于系统整体性能的详细信息,包括CPU使用率、内存使用情况、进程状态以及系统负载等。通过`top`命令,管理...

Global site tag (gtag.js) - Google Analytics