solaris性能监控.docx
- 文档编号:4935557
- 上传时间:2022-12-11
- 格式:DOCX
- 页数:25
- 大小:39.99KB
solaris性能监控.docx
《solaris性能监控.docx》由会员分享,可在线阅读,更多相关《solaris性能监控.docx(25页珍藏版)》请在冰豆网上搜索。
solaris性能监控
solaris性能监控
对于主机/系统管理员来讲,在日常维护中,最经常的做的就是性能监控,主要包括:
1.CPU性能监控
2.内存
3.磁盘I/O
4.网络流量
5.进程监控
处理器监控命令总结
在PC市场CPU的主流厂商为AMD和INTEL;而在服务器市场除了上述两家外还有HP、IBM、SUN等企业。
但不论是哪个厂家的产品,对于处理器而言都有一些共同的性能指标参数。
硬件性能
在谈及CPU的硬件性能时,通常会涉及几个重要指标:
1. 核数
一个CPU内的处理器数量,一个双核的CPU性能比两个单核的CPU更佳,因为双核CPU在内部就完成了协同处理。
目前SUN公司已经生产出8核的CPU,并应用在UltraSparcT1服务器上
2. 运行频率
频率越高意味着处理器的运算速度越快
3. 缓存大小
由于处理器的运行速度越来越快,对从内存中读取数据的速度需求也越来越高。
然而内存速度的提升速度却很缓慢,而能高速读写数据的内存价格又异常高昂,不能大量采用。
从性能价格比的角度出发,处理器设计生产公司采用了一种折中方案,就是用少量的高速内存和大量的低速内存结合使用,共同为处理器提供数据,达到了性能和成本的最优化配置。
处于CPU和内存之间的那些高速内存专门用来做临时数据存放,因此被称为缓冲存储器,简称“缓存”。
最初缓存只有一级,随着处理器速度的提升,一级缓存已满足不了需求,于是就添加了二级缓存。
二级缓存速度比一级缓存慢,但容量更大,用来做一级缓存和内存之间的数据临时存放。
目前服务器市场的处理器已经添加了三级缓存,容量更大,但速度比二级缓存慢(仍然比内存快许多),
缓存使CPU处理器的运行效率得到了大幅度的提升,这个区域中存放的都是CPU频繁要使用的数据,所以缓存越大处理器效率就越高,同时由于缓存的物理结构比内存复杂很多,所以其成本也很高。
4. 线程数
在处理器到内存中读取数据时,由于处理器处理速度很快,如果每次运算都要等到读取内存速度完成后再开始,会导致大部分的CPU时间处在空闲状态,这就是最早的单线程操作。
而多线程操作则不等处理器处理指令完毕,就预先到内存中读取速度并缓存,这将充分利用CPU的空闲时间,最大化的进行指令的处理。
目前服务器市场的主流CPU都能支持2线程甚至4线程操作。
查看CPU数量和主频等信息,可在shell下用prsinfo或prtdiag命令;也可在PROM的OK提示符下用banner或show-post-results(这个命令和shell下的prtdiag命令的输出类似,可看CPU内存等信息)
#psrinfo-v
虚拟处理器0在下列时间的状态:
03/28/200715:
14:
52
自03/28/200708:
05:
57开始已在运行。
i386处理器以2000MHz运行,
而且有i387compatible浮点数处理器
#prtdiag-v
系统配置:
SunMicrosystems sun4usFujitsuPRIMEPOWER2501xSPARC64V
系统时钟频率:
220MHz
内存大小:
2048兆字节
=========================CPUs=========================
Run Ecache CPU CPU
Brd CPU Module MHz MB Impl. Mask
--- --- ------- ----- ------ ------ ----
0 0 0 1977 3.0 5 5.1
<…以下输出省略…>
okshow-post-results
===Model====================
FujitsuPRIMEPOWER250
===System===================
Name Model UPAfreq.
FJSV,GPUZC-M 250 220MHz
===UPAmodule(Processor)===
CPU# MID Status Type Freq. Cache manuf. impl. mask
0 0 OK SPARC64-V 1977MHz 3072KB 4 5 51
负荷监控
mpstat命令用于查看处理器和处理器集的统计信息
#mpstat25
CPUminfmjfxcal intrithr cswicswmigrsmtx srwsyscl usrsys wtidl
0 92 20 0 129 100 151 16 0 1 0 253 4 70 0 26
0 5 0 0 270 201 287 6 0 1 0 367 3 2 0 95
0 0 0 0 266 197 267 1 0 1 0 377 2 2 0 96
0 3 3 0 268 200 283 1 0 0 0 306 1 2 0 96
0 1 0 0 265 196 266 9 0 1 0 655 6 4 0 90
下面是一台拥有4个CPU的mpstat输出
#mpstat
CPUminfmjfxcal intrithr cswicswmigrsmtx srwsyscl usrsys wtidl
0 21 0 19 541 441 41 1 8 5 0 151 0 2 0 98
1 25 1 26 2 0 257 1 87 5 0 202 0 1 0 99
2 30 1 29 4 2 441 1 87 6 0 217 0 1 0 99
3 24 1 24 9 2 270 1 89 5 0 193 0 1 0 99
另外,sar、iostat、vmsta、prstat、top的输出中也可以看到部分CPU负荷信息,输出含义如下
n us 用户使用的CPU时间百分值
n sy 系统使用的CPU时间百分值
n wt I/O等待时间不再参与CPU时间的百分值计算,总是为0
n id CPU空闲时间百分值
#sar25
SunOSs105.10Generic_118855-14i86pc 02/09/2007
16:
24:
01 %usr %sys %wio %idle
16:
24:
03 25 21 0 54
16:
24:
06 9 16 0 75
16:
24:
08 17 21 0 62
16:
24:
10 9 14 0 78
16:
24:
12 10 23 0 67
----------------------------------------------
Average 14 19 0 67
#iostat23
tty sd0 sd1 sd2 sd3 cpu
tintoutkpstpsserv kpstpsserv kpstpsserv kpstpsserv ussywtid
0 1451 42 53 0 0 4 321 23 66 122 3 64 381 016
0 119183 46 82 0 0 0 173 28 74 27 4 58 912 079
0 40376 60 71 0 0 0 109 17 101 64 8 104 1612 072
$vmstat25
kthr memory page disk faults cpu
rbw swap free re mfpipofrdesrf0s0s1s2 in sy csussyid
0044599220130164177313350880793038 023 73 178 93 38215
006824897211640221443850 0 0 0 088 0 6 429 333 448 51184
106824896010584401424081231640335010401450 327 473 61579
0068249004102883111134528441801608010700420299 430 51381
00682490041032419 932952433420168208100406 284 404 21088
#prstat-a
PIDUSERNAME SIZE RSSSTATE PRINICE TIME CPUPROCESS/NLWP
3308oracle 503M 410Msleep 59 0 0:
00:
329.3%oracle/1
3239oracle 218M 35Msleep 39 10 0:
03:
424.5%java/27
3781oracle 500M 408Msleep 59 0 0:
00:
032.8%oracle/1
3865oracle 107M7864Ksleep 60 0 0:
00:
001.4%oracle/1
2443oracle 85M4256Ksleep 59 0 0:
01:
091.3%java/14
1940oracle 28M7600Ksleep 59 0 0:
00:
400.7%Xorg/1
2561oracle 502M 403Msleep 59 0 0:
00:
190.6%oracle/1
NPROCUSERNAME SIZE RSSMEMORY TIME CPU---------------这里是按用户使用情况汇总排列
65oracle 13G9360M 100% 0:
10:
31 25%
36root 141M 22M 0.2% 0:
00:
390.6%
1noaccess 122M2612K 0.0% 0:
00:
330.3%
1smmsp 6700K 432K 0.0% 0:
00:
000.0%
5webservd 30M 0K 0.0% 0:
00:
000.0%
Total:
113processes,361lwps,loadaverages:
0.90,0.70,0.86
监控你的网络流量(snoop&netstat)
snoop抓包
solaris自带snoop抓包工具,抓所有数据流
#snoop
Usingdevice/dev/pcn0(promiscuousmode)
192.168.8.18->192.168.255.255NBTNSQueryRequestforWORKGROUP[1c],Success
192.168.253.35->solaris TELNETCport=1246
solaris->192.168.253.35TELNETRport=1246Usingdevice/dev/pc
solaris->192.168.253.35TELNETRport=1246Usingdevice/dev/pc
192.168.4.150->(broadcast) ARPCWhois192.168.4.200,192.168.4.200?
192.168.4.200->(broadcast) ARPCWhois192.168.4.150,192.168.4.150?
#
抓源地址或目的为202.101.98.55的数据流:
#snoop202.101.98.55
Usingdevice/dev/pcn0(promiscuousmode)
192.168.253.35->DNSC.InternetAddr?
->192.168.253.35DNSR.InternetCNAME.
#
说明:
internetcname后的为解析的名字时,代表回答的主机的域名。
抓192.168.253.35和202.101.98.55之间的数据流(双向都抓)
#snoop192.168.253.35202.101.98.55
Usingdevice/dev/pcn0(promiscuousmode)
192.168.253.35->DNSC.InternetAddr?
->192.168.253.35DNSR.InternetCNAME.
#
抓完存在当前目录下的cap文件中并查看
#snoop-ocap1-P -P表示处在非混杂模式抓数据,只抓广播、主播、目的为本机的数据
Usingdevice/dev/pcn0(nonpromiscuous)
15^C 15的含义是:
显示目前抓了多少个数据流
#
#snoop-icap1
1 0.00000192.168.253.35->solaris TELNETCport=1246
2 0.18198192.168.253.35->solaris TELNETCport=1246
3 0.37232192.168.4.199->192.168.255.255NBTDatagramServiceType=17Source=WB-200[20]
4 0.00016 ?
->(multicast) ETHERType=EF08(Unknown),size=180bytes
5 0.62546192.168.253.35->solaris TELNETCport=1246
6 0.13822 ?
->(multicast) ETHERType=0000(LLC/802.3),size=52bytes
7 0.06283192.168.253.35->solaris TELNETCport=1246
8 0.90301192.168.253.35->solaris TELNETCport=1246
9 0.19781192.168.253.35->solaris TELNETCport=1246
10 0.81493 ?
->(multicast) ETHERType=0000(LLC/802.3),size=52bytes
11 0.07018192.168.253.35->solaris TELNETCport=1246
12 0.19939192.168.253.35->solaris TELNETCport=1246
13 0.90151192.168.253.35->solaris TELNETCport=1246
14 0.18904192.168.253.35->solaris TELNETCport=1246
15 0.68422 ?
->(multicast) ETHERType=0000(LLC/802.3),size=52bytes
#snoop-icap1-p10,12 只看10-12条记录
#snoop-icap1-p10 只看第10条记录
#snoop-icap1-v-p101 查看第10条数据流的包头的详细内容
#snoop-icap1-v-x0-p101 查看第10条数据流的全部的详细内容
抓主机192.168.253.35和202.101.98.55之间的tcp或者udp端口53的数据
#snoop192.168.253.35and202.101.98.55and\(tcporudp\)andport53
输入(的时候要加转义符号\
snoop的详细参数
Snoop是Solaris系统中自带的工具,是一个用于显示网络通讯的程序,它可捕获IP包并将其显示或保存到指定文件.(限超级用户使用snoop)
Snoop可将捕获的包以一行的形式加以总结或用多行加以详细的描述(有调用不同的参数–v-V来实现).在总结方式下(-V),将仅显示最高层的相关协议,例如一个NFS包将仅显示NFS信息,其低层的RPC,UDP,IP,Ethernet帧信息将不会显示,但是当加上相应的参数(-v),这些信息都能被显示出来.
-C
-D
-N
-P在非混杂模式下抓包
-S抓包的时候显示数据包的大小
-V半详细的显示抓的数据的信息
-t[r|a|d]显示时间戳,-ta显示当前系统时间,精确到毫秒
-v最详细的显示数据的信息
-xoffset[,length]以16进制或ACSII方式显示某数据的部分内容,比如-x0,10只显示0-10字节
#snoop-icap1-v-x0-p101查看被抓获的第101个数据流的全部内容
表达式:
根据地址:
#snoopx.x.x.x IPV4的IP
#snoop0XX:
XX:
XX:
XX ETHERNET的MAC地址
数据的方向:
fromx.x.x.x或者srcx.x.x.x
tox.x.x.x或者dstx.x.x.x
可用的数据类型的关键词:
ip,ip6,arp,rarp,pppoed,pppoes,pppoe,broadcast,multicast,apple,decnet
udp,tcp,icmp,icmp6,ah,esp
greaterlength
Trueifthepacketislongerthanlength.
lesslength
Trueifthepacketisshorterthanlength.
netnet
#snoopfromnet192.168.1.0抓来自192.168.1.0/24的数据
#snoopfromnet192.168.0.0抓来自192.168.0.0/16的数据
portxxXX为TCP或者UDP的端口号或者/etc/services里定义的名字
#snooptoudpandport53 抓到UDP53的数据
常见管理命令
寻求对solaris系统性能问题感兴趣的朋友(下面的文章是抛砖引玉,希望大家多指教)
日常运行中服务器性能不好,究其原因是一件很复杂的事情,一种情况可能是目前的服务器配置不能满足业务增长的需要;另一种情况可能是应用软件结构的不合理,数据文件和数据库存放的不合理,网络结构不合理。
系统管理员的主要任务是使用各种工具和命令诊断出问题所在,明确出什么应用程序在大量消耗系统资源(CPU、内存、磁盘IO、网络带宽等),然后应用开发人员去优化应用程序降低对系统资源的占用率来提高响应速度。
性能调优主要关注的是系统资源的利用,系统资源分为物理的和逻辑的,物理的如:
CPU、内存、输入输出设备(包括磁盘设备、IO总线、通讯线和各种控制卡等),逻辑的资源如:
LVM
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- solaris 性能 监控