1:性能分析工具综述
2:如何知道系统安装了哪些性能分析工具?
3:SAR
4:time和timex
5:iostat
6:vmstat
7:GlancePlus
性能分析工具综述
目前,对系统进行性能调试的工具有很多,这些可以两大类:一类是标准的分析工具,即所有的UNIX都会带的分析工具; 另一类是不同厂商的UNIX所特有的性能分析工具,比如HP-UX就有自己的增值性能分析工具。
标准的分析工具,即所有的UNIX都会带的分析工具:
sar
iostat
vmstat
time
ps
bdf
top
ipcs
uptime
HP-UX自己的增值性能分析工具:
glance/gpm
puma
xps
按性能分析工具的用途来说,它可以分为:
CPU的使用情况:sar,time,top,ps,puma,xps
内存的使用情况:vmstat,ipcs
文件系统状态:dbf,iostat,sar,swapinfo,nfsstat
I/O子系统状态:iostat
网络性能:netstat
按分析时间点来分,性能分析工具可以分为:
日志型分析工具,如puma,xps,它们将在对系统在某一段时间的运行情况进行取样,然后得出某此结果。这种分析工具非常适合于 针对那些时断时续发生的问题进行分析,因为通过取样,可以得出结论;
实时型分析工具,如glance,它们又称“快照型分析工具”,即它们将实时取出系统运行环境的数据,这种分析工具非常适合于 那些在分析工具正在运行时发生的问题,或一直发生的问题。
如何知道系统安装了哪些性能分析工具?
想知道系统中安装了何种性能分析工具,运行命令:
#/opt/perf/perfstat -v
SAR-System Activity Reporter
顾名思义,SAR工具将对系统的当前状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是:
System V-based,在很多的UNIX版本中都存在;
可以连续对系统取样,获得大量的取样数据;
取样数据和分析的结果都可以入文件;
自己所需的负载很小
SAR也有一个致命的不足,这就是:SAR不能对某个进程进行深入分析,它仅是一对系统的整体情况进行分析。
SAR的语法为:
#sar [-ubdycwaqvmAMS] [-o file] t [n]:每隔t秒取样一次,共取样n次,其中-o file表示取样结果将以二进制形式存入文件file中;
#sar [-ubdycwaqvmAMS] [-s time] [-e time] [-i sec] [-f file]:表示从file文件中取出数据,如果没有指定-f file,则从标准数据文件/var/adm/sa/sadd取数据,其中dd表示当前日子。另外, -s time表示起始时间;-e time表示停止时间;-i sec表示取样的时间间隔,如果不指定则表示取文件中所有的数据。
对[-ubdycwaqvmAMS]的解释请参阅相关的系统分析领域,如-u表示对CPU的分析;-A表示汇总所有数据,即等于-ubdycwaqvm,-M表示对多个CPU环境中每个CPU都进行各自的分析, 一般它与-q和-u联合使用,以对每个CPU的使用情况进行分析
从前面的命令语法中可知,sar可以从一个文件中读取性能数据,这个文件可以通过sar来产生(如sar -o file 2 3),也可以通过其他的命令来产生,具体地说,可以通过以下几个命令来产生:
#/usr/lbin/sa/sadc [t n] [ofile]:以t秒为时间间隔,共取样n次,所有数据存入文件ofile。如果我们要对系统进行分析,则通常的做法是:第一步,mkdir /var/adm/sa;第二步,chown adm:adm /var/adm/sa; 第三步,/usr/lbin/sa/sadc /var/adm/sa/sa`date +%d`,它会在/var/adm/sa目录下创建一个sadd文件,其中dd表示当前日期,这个命令将对以前取样进行清零。
运行shell命令:#/usr/lbin/sa/sa1 [t n]:表示以t秒为时间间隔,共取样n次,所有数据存入文件/var/adm/sa目录下的sadd文件,其中dd表示当前日期;
运行shell命令:#/usr/lbin/sa/sa2 [-ubdycwaqvmA] [-s time] [-e time] [i sec]:
一个通过crontab命令来设置定时执行的方案:
0 * * * 0,6 su adm -c "/usr/lbin/sa/sa1":表示以adm用户执行sa1,每个星期的日、六两天是每小时执行一次sa1命令;
0 8-17 * * 1-5 su adm -c "/usr/lbin/sa/sa1 3 3"
0 8-17 * * 1-5 su adm -c "/usr/lbin/sa/sa1"
在通过sadc或sa1、sa2等后台命令收集数据时,我们必须注意如下两点:
/usr文件系统的空闲空间够不够
本月数据将覆盖上月所取样的数据,因此,在系统即将进入下一个月时,必须对本月数据进行备份;
sa1和sa2是两个shell命令,在目录/usr/lbin/sa下,我们可以修改这两shell文件,以改变缺省的取样方法。
time和timex
TIME
Time命令可以汇报出执行某条命令所花的时间。它的输出包括:实际时间,用户时间和系统时间。
它的语法:#time ls
TIMEX
和time一样,timex可以汇报出执行某条命令所花的时间,不过它可以给出更多的信息。
选项-s:prints sar data for the interval in which the program ran.
option -p: List process accounting records for command and all its children.This option works only if the process accounting software is installed and /usr/lib/acct/turnacct has been invoked to create /var/adm/pacct
iostat-I/O statistics Reporter
iostat(输入/输出统计)工具将对系统的磁盘操作活动进行监视,它的输出结果会比sar -d的输出结果更有用。它的特点是:
Berkeley-based,在很多的UNIX版本中都存在;
汇报磁盘活动统计情况,同时也会汇报出终端和CPU使用情况;
looks at information on a per-spindle basis
和SAR一样,它也有一个致命的不足,这就是:iostat不能对某个进程进行深入分析,它仅是一对系统的整体情况进行分析。
iostat的语法为:
iostat [-t] [interval [count]]
interval: Display successive lines which are summaries of the last interval seconds. The first line reported is for the time since a reboot and each subsequent line is for the last interval only.
count: Repeat the statistics count times.
-t: Report terminal statistics as well as disk statistics.
vmstat-Virtual Meomory Statistics
vmstat工具将对系统的虚拟内存、进程、CPU活动进行监视,同时它也对磁盘和forks和vforks操作的个数进行汇总。它的特点是:
Berkeley-based,在很多的UNIX版本中都存在;
汇报虚拟内存、进程、CPU活动统计情况,同时也会汇报出磁盘活动情况和forks和vforks操作的个数;
和iostat一样,它也有一个致命的不足,这就是:vmstat不能对某个进程进行深入分析,它仅是一对系统的整体情况进行分析。
vmstat的语法为:
vmstat [-dnS] [interval [count]]
vmstat -f | -s | -z
GlancePlus
GlancePlus是HP公司的性能分析工具,它是一个联机性能分析和诊断工具,用于监控正在发生的系统活动情况。它的特点是:
联机性能分析和诊断;
监控系统资源的使用情况;
多屏幕输出;
带有联机帮助;
进程阀值识别和报警,这个阀值可以基于被监控的进程、资源的利用率、用户、进程名或者终端名;
和前面介绍的其他性能分析工具,如:SAR,iostat,vmstat等相比,GlancePlus有一最大好处,这就是:GlancePlus不仅能对系统的整体情况进行分析,而且还可以对某个进程进行深入分析。
GlancePlus所有监控的系统资源主要有以下这些,应该说,它们已经包括了主要的系统资源。
CPU、磁盘、内存和交换区的整体使用情况;
全局进程的活动情况;
CPU的详细使用情况;
内存的详细使用情况;
文件系统、设备和逻辑卷的磁盘输入/输出;
磁盘队列和长度;
交换区的详细使用情况;
系统表的使用情况;
单个进程的活动情况;
GlancePlus的运行形式有两种:
图形方式:#/opt/perf/bin/gpm,或以后台方式运行#gpm&;不过,我们必须先设置环境变量DISPLAY,因为它是图形输出的目的地,比如:export DISPLAY=主机名(IP地址):0.0;如果是工作站telnet别的主机上,则本工作站还要运行#xhost +,表示别的机器上输出可以到本工作站;
终端方式:#/opt/perf/bin/glance
GlancePlus的界面主要有两部分,上面部分是系统资源的整体使用情况,下面部分则按不同的资源的详细使用情况。
GlancePlus的界面的上面部分的详细说明,其中字母表示谁用了资源,而字母之间的长度资源占用率。
CPU的利用率:S-系统CPU利用率,U-用户CPU利用率,R-实时CPU利用率,N-nice CPU利用率,A-negative-nice CPU利用率;
磁盘的利用率:F-文件系统I/O,V-虚拟内存I/O
内存的利用率:S-用于系统代码和数据的内存,U-用于用户代码和数据的内存,B-用作缓存的内存
交换区的利用率:U-正在使用的交换区,R-预留的交换区
前面讲到,GlancePlus是一个联机分析诊断工具,其实,GlancePlus还可以与MeasureWare Agent一起使用,MeasureWare Agent将可以 在一段时间内帮助GlancePlus收集基本数据,然后由GlancePlus进行分析。
Glance可以运行在HP-UX,Solaris和AIX上。
与其他的工具相比,Glance占用的系统资源会更多一些。
通常情况下,启动工具的命令的语法如下:
#glance [-j interval][-p dest][-f dest][maxpagers n][-command][-nice n][-nosort][lock][]
其中,各选项的含义为:
-j :指定数据刷新的时间间隔;
-p :使得结果送到打印机队列;
-f :enbles printing to a file;
-maxpages :limits the number of pages to be printed;
-command:selects the inital metric screen;
-nice :nice value at which glance runs;
-nosort:don't sort processes on the screen;
-lock:locks glance into memory
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1653174
相关推荐
通过本指南的学习,你可以了解Unix编程的基本流程,掌握关键的技术工具,并学会如何优化程序性能。 #### 二、应用程序开发的各阶段 应用程序开发通常包括以下阶段: 1. **需求分析**:明确应用程序的目标用户群、...
通过对当前流行的数据仓库工具进行综述,可以看出这些工具覆盖了从数据采集、存储、处理到分析和展示的整个数据生命周期。每种工具都有其特点和优势领域,企业在选择时需根据自身的具体需求和技术栈来决定。随着...
SPEC CPU2006套件是一款评估CPU性能的工具,旨在提供客观、公正的评估结果。该套件已经在Unix、Linux、Mac OS X和Windows XP操作系统上经过测试。 SPEC许可证 SPEC许可证允许您在您的机构内安装和使用SPEC CPU2006...
- **强大的开发功能**:Unix催生了C语言,并成为软件开发的重要工具。许多重要的软件技术都是在Unix平台上发展起来的,如TCP/IP、WWW、JAVA等。 - **构建成本**:虽然Unix系统在小型机上的构建成本相对较高(约50...
最后,"第8章 多线程程序性能分析方法综述",会介绍各种性能分析工具和技术,如gprof、perf等,用于理解和改进多线程程序的性能。 总的来说,这个资料集合为学习和实践多核并行编程提供了全面的指导,涵盖了从理论...
- **MUSCLE**:另一种高性能的多序列比对工具。 - **HMMER**:基于隐马尔科夫模型的序列比对工具。 ##### 3.2 局部比对 - **Blast**:用于快速比对核酸和蛋白质序列的强大工具集。 - **blat**:一种快速的短序列...
第10~12章着重介绍了在数据库系统部署并运行后,如何获得数据库运行时的性能状态,如何对正在使用的各种资源进行分析,分析时使用什么工具,以及如何解读这些工具返回的信息。 《oracle数据库性能优化的艺术》重在...
- **开发功能**:Unix促进了C语言的发展,并成为了重要的开发工具和技术平台。 - **构建成本**:以小型机系统为例,构建成本较高,并且有较高的后期维护费用。 - **Unix的标准**:虽然Unix存在多个版本,但存在统一...
Nagios是一款强大的开源系统监控工具,主要用于监测网络服务、主机和各种系统资源的状态。它由Nagios Core和一系列可扩展的插件组成,能够监控几乎所有的网络设备和服务,确保系统的稳定运行,并在出现问题时及时...
- **Linux和Unix的发展**:对比分析了Linux与Unix在设计理念、性能优化、社区支持等方面的异同,突出了Linux作为现代服务器和嵌入式设备首选操作系统的地位。 ### 知识点三:UNIX/Linux模型 - **UNIX/Linux基本...
常见的操作系统如Windows NT和Unix虽然具备基本的安全机制,如用户认证、存取控制和审计,但在面对有经验的黑客时,这些措施往往不足以防止数据被直接通过操作系统工具窃取或修改,形成了所谓的“隐秘通道”。...
这些资源可能运行着不同的操作系统(如Unix、Windows NT等),也可能包含各种高性能计算集群、大型存储设备或数据库。因此,网格任务调度需能够适应这种高度异构的环境。 - **大规模与非集中式:**网格系统通常覆盖...
Linux 是一种开源的类 Unix 操作系统,它的源代码可供公众自由使用、修改和分发。Linux 支持多线程、多任务和多 CPU 操作,这使得它在高性能计算和服务器环境中表现出色。由于其开源属性,Linux 具有高度的可移植性...
- shell脚本具有易学易用的特点,是UNIX环境下常用的编程工具之一。 总结起来,UNIX操作系统通过其先进的设计理念和技术特点,在操作系统领域树立了标杆。从进程管理、存储管理到文件管理和设备管理等多个方面,...
- **高级阶段**:项目实战、性能优化等。 **4. 嵌入式Linux入门学习内容指南** - **操作系统原理**:了解Linux内核架构。 - **编程技术**:学习C语言和Shell脚本。 - **工具使用**:熟悉常用的开发工具如GCC、GDB等...
7. **计划cron作业**(第13章):cron是Unix系统中的任务调度工具,允许管理员安排定期执行的任务。这部分讲解了如何配置和管理cron作业,以自动化日常维护任务。 8. **目录管理**(d管理1目录定稿.doc):文件系统...
### 综述: `htop`作为一款强大的进程查看工具,它的出现极大地提升了Unix/Linux系统管理员的工作效率。它的易用性和丰富的功能使其成为系统监控不可或缺的一部分。无论你是初级用户还是经验丰富的管理员,掌握`...
C/S模式的关键技术包括:支持跨平台的UNIX新版本、强大的关系数据库管理系统(如Oracle、Sybase等)、易于使用的客户端开发工具及图形用户界面、面向对象的编程技术,以及由SAP和Oracle等公司推出的大量基于C/S模式...