• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

Top监控工具在Tru 64 UNIX 的安装与使用

发布: 2007-6-08 22:43 | 作者: seanhe | 来源: | 查看: 22次 | 进入软件测试论坛讨论

领测软件测试网
看到网上的朋友,经常询问有关TOP的情况,下面是我安装的全过程,希望能给需要的朋友提供帮助。
前言:Top命令是一个功能十分强大的监控系统的工具,它提供运行在系统上的与CPU关系最密切的进程列表,以及许多意义的统计值,例如负载平均、进程数量、使用的存储器和页面空间数量。它将显示系统中CPU最“敏感”的任务列表,该命令可以按CPU使用、内存使用和执行时间对任务进行排序,而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定。 
Top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态。如果在前台执行该命令,它将独占前台,直到用户终止该程序为止。比较准确的说,Top命令提供了实时的对系统处理器的状态监视。Tru 64 UNIX 4.0f同样也支持这个命令,下面我将详细介绍如何把这个命令安装 
一、 安装前的准备 
1. 以root身份创建临时目录 
#mkdir /freeware 
#chown root /freeware 
#chgrp bin /freeware 
#cd /freeware 
#mkdir bin 
#mkdir man 
#cd man 
#mkdir man1 
/freeware/bin为命令编译的命令目录;/freeware/man/man1为man命令来学习Top命令存放的信息的位置。 
2.命令网址 
http://www.funet.fi/pub/unix/tools/top/top-3.5beta9.tar.gz 
将文件Top-3.5beta9.tar.gz下载并存放在/freeware下,这是一个压缩的tar文件,为此我们还要解压缩、解tar: 
#cd /freeware 
#gunzip Top-3.5beta9.tar.gz 
#tar -xvf Top-3.5beta9.tar.gz 
这样,在/freeware目录下,产生一个目录为:Top-3.5beta9 
#chmod -R 755 Top-3.5beta9 
二、安装过程 
#cd /freeware/Top-3.5beta9 
# ./Configure 
Configuration for Top, version 3.5 
One moment.... 
Reading configuration from last time...
You will be asked a series of questions.  Each question will
have a default answer enclosed in brackets, such as "[5.0]".  In most cases, the default answer will work well.  To use that value, merely press return.
The following machine-dependent modules are available:
386bsd     For a 386BSD system
aix32      POWER and POWER2 running AIX 3.2.5.0
aix41      PowerPC running AIX 4.1.2.0
aux3       a Mac running A/UX version 3.x
bsd386     For a BSD/386 system
bsd43      any generic 4.3BSD system
bsd44      For a 4.4BSD system
bsd44a     For a pre-release 4.4BSD system
bsdos2     For a BSD/OS 2.X system (based on the 4.4BSD Lite
system)
convex     any C2XX running Convex OS 11.X.
dcosx      For Pyramid DC/OSX
decosf1    DEC Alpha AXP running OSF/1 or Digital Unix 4.0.
dgux       for DG AViiON with DG/UX 5.4+
dynix      any Sequent Running Dynix 3.0.x
dynix32    any Sequent Running Dynix 3.2.x
freebsd20  For a FreeBSD-2.0 (4.4BSD) system
ftx        For FTX based System V Release 4
hpux10     any hp9000 running hpux version 10.x
hpux7      any hp9000 running hpux version 7 or earlier
hpux8      any hp9000 running hpux version 8 (may work with 9)
hpux9      any hp9000 running hpux version 9
irix5      any uniprocessor, 32 bit SGI machine running IRIX 5.3
irix62     any uniprocessor, SGI machine running IRIX 6.2
linux      Linux 1.2.x, 1.3.x, using the /proc filesystem
mtxinu     any VAX Running Mt. Xinu MORE/bsd
ncr3000    For NCR 3000 series systems Release 2.00.02 and above
netbsd08   For a NetBSD system
netbsd10   For a NetBSD-1.0 (4.4BSD) system
netbsd132  For a NetBSD-1.3.2 (4.4BSD) system
next32     any m68k or intel NEXTSTEP v3.x system
next40     any hppa or sparc NEXTSTEP v3.3 system
osmp41a    any Solbourne running OS/MP 4.1A
sco        SCO UNIX
sco5       SCO UNIX OpenServer5
sunos4     any Sun running SunOS version 4.x
sunos4mp   any multi-processor Sun running SunOS versions 4.1.2
or later
sunos5     Any Sun running SunOS 5.x (Solaris 2.x)
svr4       Intel based System V Release 4
svr42      For Intel based System V Release 4.2 (DESTINY)
ultrix4    any DEC running ULTRIX V4.2 or later
umax       Encore Multimax running any release of UMAX 4.3
utek       Tektronix 43xx running UTek 4.1
What module is appropriate for this machine?  [decosf1]:
This is the machine-dependent module for DEC OSF/1
It is known to work on OSF/1 1.2, 1.3, 2.0-T3, 3.0, and Digital Unix V4.0 
WARNING: if you use optimization with the standard "cc" compiler
That comes with V3.0 the resulting executable may core dump.
If this happens, recompile without optimization.
Is this what you want to use? [yes]:
First we need to find out a little bit about the executables needed to compile top.
What is the full path name for the Bourne shell [/bin/sh]:
Please supply the name of the appropriate command.  It need not be a full path name, but the named command does need to existsomewhere on the current path.
AWK Interpreter [awk]:
C Compiler [cc]:
The installer command needs to understand Berkeley-esque arguments:
"-o" for owner, "-g" for group, and "-m" for mode.  A shell script called "install" is distributed with top and is suitable for use by top.  You can specify a different program here if you like, or use the shell script (the default).
Installer [./install]:
What other options should be used with the cc command (use "none" to specify no options)?
Compiler options [-O]:
Now you need to answer some questions concerning the configuration of top itself.
The space command forces an immediate update.  Sometimes, on loaded systems, this update will take a significant period of time (because all the output is buffered).  So, if the short-term load average is above "LoadMax", then top will put the cursor home immediately after the space is pressed before the next update is attempted.  This serves as a visual acknowledgement of the command.  "LoadMax" should always be specified as a floating point number.
LoadMax [5.0]:
"Default TOPN" is the default number of processes to show.  This is the number that will be used when the user does not specify the number of processes to show.  If you want "all" (or infinity) as the default, use the value "-1".
Default TOPN [15]:
"Nominal_TOPN" is used as the default TOPN when Default_TOPN is Infinity and the output is a dumb terminal.  If we didn't do this, then installations who use a default TOPN of Infinity will get every process in the system when running top on a dumb terminal (or redirected to a file).
Note that Nominal_TOPN is a default: it can still be overridden on the command line, even with the value "infinity".
Nominal TOPN [18]:
Default Delay is the default number of seconds to wait between screen updates.
Default Delay [5]:
It looks like you have a passwd file that can be accessed at random.
Do you want top to take advantage of this? [yes]:
Compiling prime.c
I found 82 entries in your passwd file.  Top hashes the username To uid mappings as it goes along and it needs a good guess on the size of that hash table.  This number should be the next highest prime number after 164.
I have calculated that to be 167.
Enter the hash table size [167]:
Uh oh!  I see /proc out there.  Some new Unix variants provide The /proc file system as a mechanism to get to a process's address space.
This directory is typically only accessible by root.  However, There are a few systems (such as DG/UX) on which this directory exists, but isn't used.  I'm going to assume that top needs to run setuid to root, but you should double check and use mode 2755 (set group id) if top doesn't really need root access.  If you are running SunOS 5.0 -
SunOS 5.5.1 then you will need to install top setuid root (owner root And mode 4711).  In SunOS 5.6 top only requires set-gid sys permissions.
Tell me how to set the following when top is installed:
Owner [root]:
Group owner [bin]:
Mode [4711]:
Install the executable in this directory [/freeware/bin]:
Install the manual page in this directory [/freeware/man/man1]:
Install the manual page with this extension [l]:
Install the manual page as 'man' or 'catman' [man]:

We are done with the questions.
Saving configuration...
#define SIGKILL    9   /* kill (cannot be caught or ignored) */
Building Makefile...
Building top.local.h...
Building top.1...
Doing a "make clean".
rm -f *.o top core core.* sigdesc.h
To create the executable, type "make".
To install the executable, type "make install".
上面参数的填写主要根据自己的情况来决定,仔细看呀。
# make 
cc -DHAVE_GETOPT -O -c Top.c 
awk -f sigconv.awk /usr/include/signal.h >sigdesc.h 
cc -DHAVE_GETOPT -O -c commands.c 
cc -DHAVE_GETOPT -O -c display.c 
cc -DHAVE_GETOPT -O -c screen.c 
cc -DHAVE_GETOPT -O -c username.c 
cc -DHAVE_GETOPT -O -c utils.c 
cc -DHAVE_GETOPT -O -c version.c 
cc -DHAVE_GETOPT -O -c getopt.c 
cc "-DOSREV=V40" -DHAVE_GETOPT -O -c machine.c 
cc: Warning: machine.c, line 551: The scalar variable "where" is 
fetched but not initialized. (uninit1) 
  if (where == 1) {--------^ 
rm -f Top 
cc -o Top Top.o commands.o display.o screen.o username.o 
utils.o version.o geto 
pt.o machine.o -ltermcap -lm -lmld -lmach 
# make install 
•/install -o root -m 4711 -g bin Top /freeware/bin 
•/install Top.1 /freeware/man/man1/Top.l 
整个过程执行完,在/freeware/bin下形成两个文件Top、Top.l,由于man命令的学习信息格式为:Top.1.gz,所以我们还要做如下工作: 
#mv /freeware/man/man1/Top.l  /freeware/man/man1/Top.1 
#gzip /freeware/man/man1/Top.1为Top.1.gz 
#mv /freeware/bin/Top /bin 
#mv /freeware/man/man1/Top.l.gz /usr/share/man/man1 
这样,整个安装过程就结束了。 
三、 Top在Tru 64上的输出 
格式






 飞天二狭 回复于:2004-07-12 09:22:03
第一行的项目依次为平均负载、当前时间。第二行为进程情况,依次为进程总数、运行进程数、等待进程数、休眠进程数空闲进程数。第三行为CPU状态,依次为用户占用、优先进程占用、系统占用、闲置进程占用。第四行为内存状态、交换状态,依次为已用内存、平均可用内存、已用交换区容量、可用交换区容量。然后下面就是和ps相仿的各进程情况列表了。 
我们可以利用Top命令来查看最耗CPU资源的进程。Top命令还会根据进程占用CPU资源的多少而动态改变。总的来说,Top命令的功能强于ps,但需要长久占用前台,所以用户应该根据自己的情况来使用这个命令。 
四、 Top命令的语法格式 
Top [ -SbiInquv ] [ -dcount ] [ -stime ] [ -ofield ] [ -Uusername ] [ number ] 
使用权限:所有使用者 
相关命令:Kill ,ps,stty,mem,renice 
补充说明: 
执行Top指令可显示当前正在系统中执行的程序,并通过它所提供的交互式截面,用功能键加以管理。 
相关参数说明: 
Top 显示系统程序的执行状态,并指定每间隔时间刷新一次信息 
-s 使用累计模式显示系统程序的执行状态 
-b 使用“batch”模式显示系统的执行状态,此时所有的功能键均没有任何作用 
-i 使用“interactive”模式显示系统的执行状态 
-I 显示系统程序的执行状态,不显示空闲进程及已经成为僵尸的进程 
-n 使用“no-interactive” 模式显示系统的执行状态 
-q 仅在root下用,重置Top优先级到-20 
-u 不显示用户UID 
-v 显示版本号 
-dcount 屏幕刷新count次后,Top命令自己也退出 
-stime 设置屏幕刷新的时间间隔time,缺省为5秒 
-ofield 在指定的字段中,排序进程显示域 
-Uusername 仅仅显示username拥有的进程 
操作命令:
d            输入刷新数
u            显示指定用户的程序执行状态
o            改变显示字段的顺序
n 或 #       设置最多要显示几个程序。若设为0,则不作任何限制
空格键       立即更新显示中的数据
h或 ?      显示在线说明
Ctrl+ L       重新显示画面
q            结束程序
s            设置屏幕刷新的时间间隔,单位为秒
k            中止执行中的程序,相当于命令:kill
r            调整执行程序的优先权
e            显示系统的错误列表
I或 i        切换是否显示闲置中及成为僵尸的程序
从上面的介绍中可以看到,Top命令是一个功能十分强大的监控系统的工具,尤其对于系统管理员而言更是如此。一般的用户可能会觉得ps命令其实就够用了,但是Top命令的强劲功能确实提供了不少方便。熟悉并灵活应用Top的 命令,可以大大方便系统管理人员和用户,并收到事半功倍之。

 czyf2001 回复于:2004-07-12 14:35:40
8错!
tru64 下的dxproctuner 好像也可以吧?
呵呵!

 吹拂的晨风 回复于:2004-07-12 21:56:18
飞天又发精品了,我顶!
 :em02:  :em02:  :em02:  :em02:  :em02:

 ohwww 回复于:2004-07-12 22:09:47
挺好的,收藏,虽然我不用装也能用,呵呵

 飞天二狭 回复于:2004-07-13 19:21:25
大家在solaris系统上也可以试着安装,好用的。

 sniper 回复于:2004-07-13 23:03:17
奇怪了,在FreeBSD和大部分的Linux套件上都自带了呀.

 飞天二狭 回复于:2004-07-13 23:11:59
没什么奇怪的,LINUX上是有,就是在那受到启发的。

 季风 回复于:2004-07-14 15:00:41
好像5的系统不能装,没有可用的module

 lhdragon 回复于:2004-07-17 22:34:53
好文! 顶!!!

3x

 cuilin2004 回复于:2004-07-18 13:47:36
:D 
严重支持,好文,稍后试一下

 alian0511 回复于:2004-07-24 14:22:56
我在Compaq Tru64 UNIX V5.1A上装了,可以用的

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网