AIX系统的CPU性能评估Word文档格式.docx

上传人:b****3 文档编号:16800633 上传时间:2022-11-26 格式:DOCX 页数:16 大小:24.69KB
下载 相关 举报
AIX系统的CPU性能评估Word文档格式.docx_第1页
第1页 / 共16页
AIX系统的CPU性能评估Word文档格式.docx_第2页
第2页 / 共16页
AIX系统的CPU性能评估Word文档格式.docx_第3页
第3页 / 共16页
AIX系统的CPU性能评估Word文档格式.docx_第4页
第4页 / 共16页
AIX系统的CPU性能评估Word文档格式.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

AIX系统的CPU性能评估Word文档格式.docx

《AIX系统的CPU性能评估Word文档格式.docx》由会员分享,可在线阅读,更多相关《AIX系统的CPU性能评估Word文档格式.docx(16页珍藏版)》请在冰豆网上搜索。

AIX系统的CPU性能评估Word文档格式.docx

Faults段显示内容(其实这段内容不需太多关注)

'

in在该时间间隔中观测到的每秒设备中断数。

sy在该时间间隔中观测到的每秒系统调用次数。

cs在该时间间隔中观测到的每秒钟上下文切换次数。

Cpu段显示内容

us列显示了用户模式所消耗的CPU时间。

•sy列详细显示了CPU在系统模式所消耗的CPU时间。

-id列显示了没有未决本地磁盘I/O时CPU空闲或等待时间的百分比。

•wa列详细显示了有未决本地磁盘I/O时CPU空闲的时间百分比。

wa的值如果超过25%,就表明磁盘子系统可能没有被正确平衡,或者这也可能是磁盘工作负荷很重的结果。

如果在一个单用户系统中,us+sy时间不超过90%,我们就不认为系统的CPU是受限制的。

如果在一个多用户系统中,us+sy时间超过80%,我们就认为系统的CPU是受限的。

其中的进程将要花时间在运行队列中等待。

响应时间和吞吐量会受损害。

检查cpu,我们主要关注报告中的4个cpu列和2个kthr(内核线程)列。

在上面的示例中,我们可以观察到以下几个主要的信息:

CPUIDLE比较高,比较空闲;

r列为0,表明线程不存在等待;

WA值不高,说明I/O压力不大;

free值比较大,pi,po为0,表明内存非常富裕。

空闲较多。

2、sar

第二个常用的是sar命令,但是sar会增加系统的开销。

当然有些情况下,我们使用sar比较方便。

sar的输出结果与前面的基本类似,这里不再作详细的介绍,关于命令的语法,也不再作详细的介绍,我们常用的命令格式:

#sar13

AIXjsdxh_db023500C2C1EB4C0010/24/07

Systemconfiguration:

lcpu=16

17:

52:

26

%usr

%sys

%wio

%idlephysc

27

19

7

75

8.00

28

6

8.01

29

8.02

Average

在这里,sar命令输出的是一个整体的cpu使用情况的一个统计,统计分项目的内容也比较直观,通过名字就可以理解涵义。

这里有一点比较方便的就是,在最后一行有一个汇总的average行,作为上述统计的一个平均。

另外,补充说明一点的就是,一般来说,第一行统计信息包含了sar命令本身启动的cpu

消耗,所以往往是偏高的,所以导致average值也往往是偏高一点的。

当然,这不会对结果产生多大影响。

当我们有多个cpu的时候,而程序采用的是单线程,有时候会出现一种情况,我们检查发现,cpu总体的使用率不高,但是程序响应却比较慢。

这里有

可能就是单线程只使用了一个cpu,导致这个cpu100%占用,处理不过来,而其他的cpu却闲置。

这时可以对cpu分开查询,统计每个cpu的使用情况。

#sar-PALL12

18:

03:

30cpu%usr%sys%wio%idlephysc

3100690310.00

 

1

50

1.00

2

100

0.52

3

0.48

4

99

0.54

5

0.46

0.53

0.47

8

9

10

98

11

12

58

31

0.00

13

14

15

-

320

71

290.00

39

41

20

7.98

Average0

70

0300.00

48

24

上面是分cpu统计的情况,结果应该也比较直观吧。

Sar还有其他一些比较特殊的使用方法,比如:

如果希望多个采样和多个报告,可为sar命令指定一个输出文件,这样就方便多了。

将sar命令的标准输出数据定向到/dev/null,并将sar命令作为

后台进程运行。

具体的命令格式为:

sar-A-o/temp/sar_result.log5300>

/dev/null&

关于sar其他的一些使用方法,这里不再详述。

3、iostat

第三个可以用来使用的命令是iostat.

$iostat-t24

tty:

tin

tout

avg-cpu:

%user

%sys

%idle%iowait

0.0

0.1

99.8

81.0

99.9

40.5

100.0

99.1

0.8

TTY的两列信息(tin和tou)显示了由所有TTY设备读写的字符数

CPU统计信息列(%user、%sys、%idle和%iowait)提供了CPU的使用情况。

注意:

第一份报告为系统启动以来的一个累积值。

4、tprof

使用tprof命令用于统计每个进程的CPU使用情况

#tprof-xsleep30

该命令的输岀结果可查看__prof.all文件。

此命令运行30秒钟,在当前目录下创建一个名为_prof.all的文件。

30秒钟内,CPU被调度次数约为3000次。

__prof.all文件中的字段Total为此进程调度到的CPU次数。

如果进程所对应的Total字段的值为1500,即表示该进程在3000次CPU调度中占用了1500次,或理解为使用了一半的CPU时间。

tprof的输出准确地显示出哪个进程在使用CPU时间。

在我下面的这一份示例中,可以看到,大部分的cpu时间都是被wait所占用的。

这里的wait实际上是idle进程,可以表明这个系统是一个完全空闲的系统。

$more_prof.all

ProcessPIDTIDTotalKernelUserSharedOther

wait

40970

40971

2998

32776

32777

2994

24582

24583

2985

16388

16389

2980

syncd

221254

155707

caiUxOs

524540

2294015

netm

73746

73747

hats_nim

1671242

1220665

10

snmpd64

598258

1245291

11

rpc.lockd

639212

1728679

tprof

704622

2277437

trclogio

360524

2408625

trace

1523820

2523145

clinfo

1958102

2760945

sh

1572938

2285709

Total

12000

11994

ProcessFREQTotalKernelUserSharedOther

11957

00

60

在这里,对wait进程作一点补充说明。

在AIX5L下,你用psaux会发现有一些root的wait进程

在AIX5L下,你用psaux会发现有一些root的wait进程

#psaux|head-20

USERPID%CPU%MEMSZRSSTTYSTATSTIMETIMECOMMAND

oracle2663545.70.05013627524-A15:

40:

350:

32oracleora92(LOC

root172143.10.04040-AJul0424793:

53wait

root

16946

3.1

40

-A

Jul0424633:

59wait

16678

Jul0424600:

21wait

53274

Jul0424397:

54wait

286

Jul0424371:

55wait

8196

3.0

Jul0424312:

40wait

822

Jul0424303:

36wait

554

Jul0424261:

50wait

20776

2.7

Jul0421502:

46wait

57372

Jul0421439:

31wait

49176

Jul0421423:

47wait

21044

Jul0421398:

24wait

12848

Jul0421357:

07wait

21312

Jul0421324:

26wait

12580

Jul0421293:

06wait

13116

Jul0421195:

oracle

344612

0.3

0.05758834976

-AJul042663:

08ora_j000_ora92

430408

0.05590833296

-AJul042220:

57ora_j001_ora92

wait就是CPU空闲的时候运行的空闲进程,AIX4上叫kproc。

所以这个进程占用越大,表示机器越空闲。

Wait进程的数量是由机器上的逻辑CPU的个

数决定的,有几个逻辑CPU,就有几个wait进程.

5、ps

这个命令使用本身也比较复杂,在这里只介绍如何查看cpu占用最高的进程。

使用举例如下:

#psaux|head-25

USER

PID%CPU%MEM

SZ1

RSS

TTYSTATSTIMETIMECOMMAND

17214

Jul0425578:

42wait

Jul0425415:

Jul0425377:

03wait

Jul0425170:

12wait

Jul0425144:

00wait

Jul0425082:

32wait

Jul0425072:

25wait

Jul0425034:

14wait

Jul0422181:

27wait

Jul0422118:

Jul0422102:

02wait

Jul0422077:

18wait

Jul0422036:

44wait

Jul0421998:

Jul0421967:

17wait

Jul0421865:

51wait

0.05637233852

-AJul042707:

30ora_j000_ora92

0.05591633396

-AJul042266:

20ora_j001_ora92

365092

0.2

0.05618433664

-AJul041765:

58ora_j002_ora92

442430

0.05609233572

Jul041426:

40ora_j003_ora92

385606

0.05598433464

Jul051159:

17ora_j004_ora92

413856

0.05052028000

Jul23543:

31oracleora92(LOC

143668

0.05052828008

Jul13833:

21oracleora92(LOC

369230

0.05660034080

Jul05806:

36ora」005_ora92

在这个输出结果中,排在前面的是16个root用户的wait进程,这其实是CPU空闲的时候运行的空闲进程,之前已作说明。

所以CPU最高的几个进程其实是下面的ORACLE用户的ora_j00*进程,这是ORACLE的job进程。

在这里,这些进程的开销很小。

如果ORACLE的

进程开销比较大,我们可以用如下的方法来查询具体的进程在干什么事情,例如我们要查询进程ora」000_ora92,PID=344612,可以使用下面的方法:

$su-oracle

SQL>

sqlplus“/assysdba”

oradebugsetospid344612

oradebugevent10046tracenamecontextforever,level8

oradebugtracefile_name-这个命令我们获得输出文件的绝对路径和文件名

oradebugevent10046tracenamecontextoff

$tkprof/opt/oracle/app/oracle/admin/ora92/bdump/ora92」000_344612.trctracepid.txt

$moretracepid.txt

在tracepid.txt中,我们就可以看到这个进程中具体运行的语句、过程等,以及所有的SQL的cpu消耗、物理读、逻辑读、执行计划等信息。

另外,我们也可以执行下面的语句查看进程具体运行的SQL语句的文本:

SELECT/*+ORDERED*/sql_textFROMv$sqltexta

WHERE(a.hash_value,a.address)IN(

SELECTDECODE(sql_hash_value,0,prev_hash_value,sql_hash_value),

DECODE(sql_hash_value,0,prev_sql_addr,sql_address)

FROMv$sessionb

WHEREb.paddr=(SELECTaddr

FROMv$processc

WHEREc.spid='

&

pid'

))

ORDERBYpieceASC

6、解决CPU占用的惩罚机制nice和

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 中国风

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1