Top监控工具可以显示CPU占用率为前几位的进程,并提供CPU的实时活动情况。它是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。
比较准确的说,top命令提供了实时的对系统处理器的状态监视。它将显示系统中CPU最“敏感”的任务列表。该命令可以按CPU使用。内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。在后面的介绍中将把命令参数和交互命令分开讲述。
语法:top [-s time] [-d count] [-q] [-u] [-h] [-n number] [-f filename]
-s time 设置屏幕刷新的延时,单位为秒,默认值5
-d count 设置屏幕刷新的次数,刷新显示完count次后退出
-q 如果经过nice授权,使用-q可以使top运行的更快一些
-u 用显示User ID代替username,提高命令运行速度
-h 当系统由多个CPU时,个别CPU的状态信息被隐藏,只显示平均状态值
- -n number 设置每一屏幕显示的进程数目,number值超过进程最大数目,则设置无效
-f filename 输出重定向到给定的文件名,默认为16个进程信息
top指令是按cpu占用率排序的,如果想一次获得所有进程的快照,使用命令
top -n [最大进程数] -f 输出到文件,比如top -n 1000 -f topsnapshot.log
top指令输出内存的统计信息包括
Memory: 2614368K (2249100K) real, 5838616K (5264696K) virtual, 113028K free Page# 1/1
其中没有括号起来的是总数,括号括起来的部分是活动进程使用的内存数,free则是真实空闲的物理内存数.
进程信息的列包括
CPU TTY PID USERNAME PRI NI SIZE RES STATE TIME %WCPU %CPU COMMAND
和内存相关的只有SIZE和RES
SIZE:任务的代码加上数据再加上栈空间的大小。
RES:任务使用的物理内存的总数量
要检查进程是否有内存泄露,和实际占用的内存大小,看RES列即可.
显示信息描述
顺序显示下面三个常规的信息
一.系统信息:
System: pa1011 Tue Jun 1 22:15:56 2004
Load averages: 0.06, 0.04, 0.03
79 processes: 71 sleeping, 8 running
Cpu states:
CPU LOAD USER NICE SYS IDLE BLOCK SWAIT INTR SSYS
0 0.11 6.2% 0.0% 3.4% 90.5% 0.0% 0.0% 0.0% 0.0%
1 0.01 5.2% 0.0% 4.4% 90.5% 0.0% 0.0% 0.0% 0.0%
--- ---- ----- ----- ----- ----- ----- ----- ----- -----
avg 0.06 -0.0% -0.0% -0.0% 100.0% -0.0% -0.0% -0.0% -0.0%
首部的几行显示系统的几个信息,其中包括:
+ system:系统名和当前日期.
+ Load averages:1分钟、5分钟和15分钟内运行的负载平均数
一般来说只要每个CPU的当前活动进程数不大于3那么系统的性能就是良好的,如果每个CPU的任务数大于5,那么就表示这台机
器的性能有严重问题
+ 最近一次更新时存在的进程总数,并分别列出run(运行)、sleep(睡眠)、idle(停止)和zomb(‘僵尸’)状态的进程数
+ CPU state:用户占用时间的百分比、系统占用CPU时间的百分比、被nice命令改变优先级的任务占用的CPU时间百分比、以及
CPU空闲时间的百分比。(被nice命令改变优先级的任务仅指那些nice值为负的任务)。花费在被nice命令改变优先级的任务上的
时间也将被计算在系统和用户时间内,因此整个时间加起来可能会超过百分之百
+ avg:活动进程的平均值 (仅当多处理器系统时列出).
二.内存信息
Memory: 610008K (24424K) real, 995344K (30304K) virtual, 12588K free Page# 1/4
Memory:关于内存使用情况的统计,包括实际(real)内存的活动值/总值,虚拟(virtual)内存的使用值/总值,剩余的内存。
三.进程信息
CPU TTY 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)TTY:终端名
(3)PID:进程号
(4)USERNAME:用户名
(5)PRI:任务的优先级
(6)NICE:任务的nice值,一个具有较低值的进程在系统上将具有优先权。可以通过改变nice值提高某些进程速度,但是这实际上是一种交易,因为那些nice值被升高的进程此时将运行得很慢。
(7)SIZE:任务的代码加上数据再加上栈空间的大小。
(8)RES:任务使用的物理内存的总数量。
(9)STATE:任务的状态
(10)TIME:自任务开始时使用的总CPU时间,单位为秒,如153:43,对应是153秒 43毫秒
(11)%WCPU:进程的CPU利用率权重百分比
(12)%CPU:进程的原始的CPU利用率百分比,自上一次屏幕刷新以来任务占用CPU 时间的份额
(13) COMMAND:启动进程的命令名。如果名字太长而不能在一行显示时,它将被截短
2:检查共享内存占用的内存容量
使用ipcs -m -b命令,-m表示检查共享内存,-b表示输出每个内存的字节数,得到的共享内存信息输出列包括:
T ID KEY MODE OWNER GROUP SEGSZ
SEGSZ列则是字节数.把每列相加则是共享内存占用的内存总数.
3: 调整内核动态高速缓冲区参数
HP-UX某些型号的服务器运行的时候需要几乎1G的内存维持系统运行,比如作为设备缓冲什么的.
可以用kmtune命令检查内核配置参数,动态高速缓冲区参数dbc_min_pct 和 dbc_max_pct参数表示一个高速缓冲区允许的可用内存的最小和最大百分比,dbc_max_pct的缺省值是50,一般设置为10即可.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9240380/viewspace-759622/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9240380/viewspace-759622/