`

Solaris性能的几个重要指标

 
阅读更多

1.核数
一个CPU内的处理器数量,一个双核的CPU性能比两个单核的CPU更佳,因为双核CPU在内部就完成了协同处理。目前SUN公司已经生产出8核的CPU,并应用在UltraSparc T1服务器上
2.运行频率
频率越高意味着处理器的运算速度越快
3.缓存大小
由于处理器的运行速度越来越快,对从内存中读取数据的速度需求也越来越高。然而内存速度的提升速度却很缓慢,而能高速读写数据的内存价格又异常高昂,不能大量采用。从性能价格比的角度出发,处理器设计生产公司采用了一种折中方案,就是用少量的高速内存和大量的低速内存结合使用,共同为处理器提供数据,达到了性能和成本的最优化配置。
处于CPU和内存之间的那些高速内存专门用来做临时数据存放,因此被称为缓冲存储器,简称“缓存”。最初缓存只有一级,随着处理器速度的提升,一级缓存已满足不了需求,于是就添加了二级缓存。二级缓存速度比一级缓存慢,但容量更大,用来做一级缓存和内存之间的数据临时存放。目前服务器市场的处理器已经添加了三级缓存,容量更大,但速度比二级缓存慢(仍然比内存快许多),
缓存使CPU处理器的运行效率得到了大幅度的提升,这个区域中存放的都是CPU频繁要使用的数据,所以缓存越大处理器效率就越高,同时由于缓存的物理结构比内存复杂很多,所以其成本也很高。
4.线程数
在处理器到内存中读取数据时,由于处理器处理速度很快,如果每次运算都要等到读取内存速度完成后再开始,会导致大部分的CPU时间处在空闲状态,这就是最早的单线程操作。而多线程操作则不等处理器处理指令完毕,就预先到内存中读取速度并缓存,这将充分利用CPU的空闲时间,最大化的进行指令的处理。目前服务器市场的主流CPU都能支持2线程甚至4线程操作。

查看CPU数量和主频等信息,可在SHELL
下用prsinfo或prtdiag命令;也可在PROM的OK提示符下用banner或show-post-results(这个命令和shell下的prtdiag命令的输出类似,可看CPU内存等信息)

bash-3.00# prtdiag -v
System Configuration: Sun Microsystems sun4v Sun Fire T200
System clock frequency: 200 MHz
Memory size: 16376 Megabytes

================================ Virtual CPUs ================================


CPU ID Frequency Implementation Status
------ --------- ---------------------- -------
0 1200 MHz SUNW,UltraSPARC-T1 on-line
1 1200 MHz SUNW,UltraSPARC-T1 on-line
2 1200 MHz SUNW,UltraSPARC-T1 on-line
3 1200 MHz SUNW,UltraSPARC-T1 on-line
4 1200 MHz SUNW,UltraSPARC-T1 on-line
5 1200 MHz SUNW,UltraSPARC-T1 on-line
6 1200 MHz SUNW,UltraSPARC-T1 on-line
7 1200 MHz SUNW,UltraSPARC-T1 on-line
8 1200 MHz SUNW,UltraSPARC-T1 on-line
9 1200 MHz SUNW,UltraSPARC-T1 on-line
10 1200 MHz SUNW,UltraSPARC-T1 on-line
11 1200 MHz SUNW,UltraSPARC-T1 on-line
12 1200 MHz SUNW,UltraSPARC-T1 on-line
13 1200 MHz SUNW,UltraSPARC-T1 on-line
14 1200 MHz SUNW,UltraSPARC-T1 on-line
15 1200 MHz SUNW,UltraSPARC-T1 on-line
16 1200 MHz SUNW,UltraSPARC-T1 on-line
17 1200 MHz SUNW,UltraSPARC-T1 on-line
18 1200 MHz SUNW,UltraSPARC-T1 on-line
19 1200 MHz SUNW,UltraSPARC-T1 on-line
20 1200 MHz SUNW,UltraSPARC-T1 on-line
21 1200 MHz SUNW,UltraSPARC-T1 on-line
22 1200 MHz SUNW,UltraSPARC-T1 on-line
23 1200 MHz SUNW,UltraSPARC-T1 on-line
24 1200 MHz SUNW,UltraSPARC-T1 on-line
25 1200 MHz SUNW,UltraSPARC-T1 on-line
26 1200 MHz SUNW,UltraSPARC-T1 on-line
27 1200 MHz SUNW,UltraSPARC-T1 on-line
28 1200 MHz SUNW,UltraSPARC-T1 on-line
29 1200 MHz SUNW,UltraSPARC-T1 on-line
30 1200 MHz SUNW,UltraSPARC-T1 on-line
31 1200 MHz SUNW,UltraSPARC-T1 on-line



#ok show-post-results
.......

CPU性能监控

mpstat命令用于查看处理器和处理器集的统计信息

下面是一台拥有32个CPU的mpstat输出
bash-3.00# mpstat 3 5
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
0 40 0 1142 327 106 200 1 25 43 0 386 1 2 0 96
1 10 0 395 60 5 166 0 22 29 0 245 1 1 0 98
2 5 0 210 35 0 104 0 14 21 0 155 0 0 0 99
3 3 0 130 18 0 64 0 9 17 0 104 0 0 0 100
4 32 0 595 79 20 203 1 25 34 0 364 1 1 0 97
5 7 0 257 34 0 110 0 15 22 0 166 0 1 0 99
6 3 0 148 16 0 56 0 8 16 0 92 0 0 0 100
7 2 0 110 11 0 39 0 6 14 0 68 0 0 0 100
8 27 0 564 56 0 185 1 22 31 0 320 1 1 0 98
9 6 0 238 28 0 94 0 12 20 0 142 0 0 0 99
10 3 0 141 14 0 49 0 7 15 0 83 0 0 0 100
11 2 0 105 10 0 36 0 5 13 0 64 0 0 0 100
12 27 0 547 57 0 182 1 21 30 0 313 1 1 0 98
13 6 0 234 31 0 98 0 13 20 0 146 0 0 0 99
14 3 0 136 15 0 51 0 7 14 0 84 0 0 0 100
15 2 0 104 10 0 36 0 5 12 0 64 0 0 0 100
16 27 0 552 56 0 184 1 21 31 0 321 1 1 0 98
17 6 0 233 28 0 92 0 12 20 0 143 0 0 0 99
18 3 0 135 14 0 48 0 7 14 0 81 0 0 0 100
19 2 0 102 10 0 35 0 5 12 0 63 0 0 0 100
20 27 0 547 58 0 184 1 21 30 0 316 1 1 0 98
21 6 0 232 31 0 97 0 13 20 0 144 0 0 0 99
22 2 0 135 15 0 49 0 7 14 0 82 0 0 0 100
23 2 0 104 9 0 35 0 5 12 0 62 0 0 0 100
24 27 0 545 56 0 183 1 21 31 0 319 1 1 0 98
25 6 0 233 28 0 92 0 12 20 0 143 0 0 0 99
26 3 0 136 14 0 47 0 7 14 0 80 0 0 0 100
27 2 0 103 9 0 35 0 5 12 0 62 0 0 0 100
28 27 0 542 57 0 187 1 22 31 0 321 1 1 0 98
29 6 0 234 31 0 95 0 12 19 0 143 0 0 0 99
30 3 0 137 15 0 50 0 7 14 0 85 0 0 0 100
31 2 0 105 10 0 36 0 5 12 0 62 0 0 0 100

单个CPU可以使用prstat命令来进行监控CPU的性能;

bash-3.00# prstat -a
PID USERNAME SIZE RSS STATE PRI NICE TIME CPU PROCESS/NLWP
10568 ems 142M 129M sleep 59 0 7:09:09 0.1% ems_phm/75
10904 ems 553M 502M sleep 59 0 1:34:56 0.1% java/660
9 root 15M 14M sleep 59 0 3:23:04 0.0% svc.configd/25
10654 ems 166M 144M sleep 59 0 0:19:44 0.0% ems_rm/161
155 daemon 6648K 5336K sleep 59 0 2:35:23 0.0% kcfd/9
10939 ems 2168M 1301M sleep 59 0 0:24:58 0.0% ems_fm/219
10941 ems 1684M 867M sleep 59 0 0:17:12 0.0% ems_cm/161
16037 ems 1607M 593M sleep 59 0 0:11:52 0.0% ems_pm/90
10938 ems 124M 102M sleep 59 0 0:09:55 0.0% ems_um/72
10940 ems 3236M 910M sleep 59 0 0:19:28 0.0% ems_tm/169
10467 oracle 1394M 1125M sleep 59 0 0:07:36 0.0% oracle/1
28180 ems 9360K 6392K sleep 59 0 0:01:11 0.0% httpd/1
11048 root 11M 9288K sleep 59 0 0:07:48 0.0% nscd/32
10463 oracle 1396M 1127M sleep 59 0 0:04:45 0.0% oracle/1
11107 ems 9360K 6408K sleep 59 0 0:02:21 0.0% httpd/1
4098 ems 328M 161M sleep 59 0 0:05:41 0.0% java/75
28182 ems 9360K 6392K sleep 59 0 0:01:11 0.0% httpd/1
4295 root 3904K 3544K cpu20 49 0 0:00:00 0.0% prstat/1
19511 root 1824K 1544K sleep 59 0 0:00:00 0.0% sh/1
11381 oracle 1395M 1382M sleep 59 0 0:00:00 0.0% oracle/1
3432 daemon 3200K 2440K sleep 59 0 0:00:00 0.0% rpcbind/1
4908 root 1720K 1216K sleep 59 0 0:00:02 0.0% utmpd/1
822 root 5352K 3224K sleep 59 0 0:00:12 0.0% syslogd/18
11630 oracle 1398M 1385M sleep 59 0 0:00:08 0.0% oracle/1
11108 ems 9360K 6400K sleep 59 0 0:02:25 0.0% httpd/1
480 root 1768K 1024K sleep 59 0 0:00:00 0.0% efdaemon/1
19535 root 3568K 2936K sleep 59 0 0:00:00 0.0% bash/1

NPROC USERNAME SWAP RSS MEMORY TIME CPU
43 ems 9988M 4705M 29% 11:05:08 0.2%
61 root 119M 138M 0.8% 3:44:02 0.0%
2 daemon 3600K 7952K 0.0% 2:35:23 0.0%
75 oracle 1620M 1696M 10% 0:26:57 0.0%
1 noaccess 114M 179M 1.1% 0:04:50 0.0%

IO 性能监控

# iostat 2 3

内存性能监控
#vmstat 2 5

判定内存是否够用的方法:

1prstat -mL查看进程等待内存的时间百分比(DFL值)
$ prstat -mL
PID USERNAME USR SYS TRP TFL DFL LCK SLP LAT VCX ICX SCL SIG PROCESS/LWPID
15931 oracle12 4.80.00.00.00.083 0.0 2370 13K0 oracle/1

15929 oracle5.9 7.80.00.0
0.00.088 0.0 20519 11K0 oracle/1
15927 oracle8.3 5.00.00.0
0.00.088 0.0 15809K0 oracle/1
......
DFL
表示花费在等待内存的时间百分比。上述DFL=0表示没有发生换页情况,内存够用。

2
vmstat查看空闲内存(free值)和缺页扫描频率(sr值)
bash-2.05$ vmstat 1
kthrmemorypagediskfaultscpu
r b wswapfreeremf pi po fr de sr m1 m2 m3 m4insycs us sy id
0 0 0 26057344
7601120219 2127 31 7 7 000000 4560 6583 274473 90
0 0 0 25980920
63673843 900000000074945284100 100
0 0 0 25980920
63673840 000000000058129771000 100
......
free
表示空闲内存为6367384,关键的是sr=0,表示缺页扫描频率为0,也就是不发生缺页扫描。

3
# echo hardswap/D|mdb -k
hardswap:
hardswap:0
硬交换为0,当然是内存够用。



网络监控可以使用netstat命令来进行

#netstat -na

同时对于OS的性能还可以使用其他工具还监控,如sar,top等,而有些solaris系统没有安装,我们可以下载安装包进行安装;

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics