Chinaunix首页 | 论坛 | 博客
  • 博客访问: 3911295
  • 博文数量: 421
  • 博客积分: 685
  • 博客等级: 上将
  • 技术积分: 3670
  • 用 户 组: 普通用户
  • 注册时间: 2010-02-18 14:20
文章分类

全部博文(421)

文章存档

2012年(5)

2011年(52)

2010年(83)

2009年(67)

2008年(65)

2007年(149)

分类:

2007-03-31 17:18:50

在PC市场CPU的主流厂商为AMD和INTEL;而在服务器市场除了上述两家外还有HP、IBM、SUN等企业。但不论是哪个厂家的产品,对于处理器而言都有一些共同的性能指标参数。
硬件性能
在谈及CPU的硬件性能时,通常会涉及几个重要指标:
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内存等信息)

# psrinfo -v
虚拟处理器 0 在下列时间的状态:03/28/2007 15:14:52
  自 03/28/2007 08:05:57 开始已在运行。
  i386 处理器以 2000 MHz 运行,
        而且有 i387 compatible 浮点数处理器

# prtdiag -v
系统配置:  Sun Microsystems  sun4us Fujitsu PRIMEPOWER250 1x SPARC64 V
系统时钟频率:220 MHz
内存大小:2048 兆字节
========================= CPUs =========================
                    Run   Ecache   CPU    CPU
Brd  CPU   Module   MHz     MB    Impl.   Mask
---  ---  -------  -----  ------  ------  ----
0     0     0      1977     3.0   5        5.1
<…以下输出省略…>

ok show-post-results
=== Model ====================
Fujitsu PRIMEPOWER250
=== System ===================
Name                   Model   UPA freq.
FJSV,GPUZC-M           250     220MHz

=== UPA module (Processor) ===
CPU#    MID     Status  Type          Freq.   Cache   manuf.  impl.   mask   
0       0       OK      SPARC64-V     1977MHz  3072KB   4       5      51

负荷监控

mpstat命令用于查看处理器和处理器集的统计信息
# mpstat 2 5
CPU minf mjf xcal  intr ithr  csw icsw migr smtx  srw syscl  usr sys  wt idl
  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
CPU minf mjf xcal  intr ithr  csw icsw migr smtx  srw syscl  usr sys  wt idl
  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空闲时间百分值


# sar 2 5
SunOS s10 5.10 Generic_118855-14 i86pc    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


# iostat 2 3
   tty        sd0           sd1           sd2           sd3            cpu
tin tout kps tps serv  kps tps serv  kps tps serv  kps tps serv   us sy wt id
   0    1 451  42   53    0   0    4  321  23   66  122   3   64    3 81  0 16
   0  119 183  46   82    0   0    0  173  28   74   27   4   58    9 12  0 79
     0   40 376  60   71    0   0    0  109  17  101   64   8  104   16 12  0 72

$ vmstat 2 5
kthr      memory            page            disk          faults      cpu
r b w   swap  free  re  mf pi po fr de sr f0 s0 s1 s2   in   sy   cs us sy id
0 0 44 599220 130164 17 73 133 50 88 0 793 0 38  0 23   73  178   93  3 82 15
0 0 68 248972 11640 22 144 385 0  0  0  0  0 88  0  6  429  333  448  5 11 84
1 0 68 248960 10584 40 142 408 123 164 0 335 0 104 0 1 450  327  473  6 15 79
0 0 68 249004 10288 31 111 345 284 418 0 1608 0 107 0 0 420 299  430  5 13 81
0 0 68 249004 10324 19  93 295 243 342 0 1682 0 81 0 0 406  284  404  2 10 88


# prstat -a
   PID USERNAME  SIZE   RSS STATE  PRI NICE      TIME  CPU PROCESS/NLWP      
  3308 oracle    503M  410M sleep   59    0   0:00:32 9.3% oracle/1
  3239 oracle    218M   35M sleep   39   10   0:03:42 4.5% java/27
  3781 oracle    500M  408M sleep   59    0   0:00:03 2.8% oracle/1
  3865 oracle    107M 7864K sleep   60    0   0:00:00 1.4% oracle/1
  2443 oracle     85M 4256K sleep   59    0   0:01:09 1.3% java/14
  1940 oracle     28M 7600K sleep   59    0   0:00:40 0.7% Xorg/1
  2561 oracle    502M  403M sleep   59    0   0:00:19 0.6% oracle/1
NPROC USERNAME  SIZE   RSS MEMORY      TIME  CPU---------------这里是按用户使用情况汇总排列
    65 oracle     13G 9360M   100%   0:10:31  25%
    36 root      141M   22M   0.2%   0:00:39 0.6%
     1 noaccess  122M 2612K   0.0%   0:00:33 0.3%
     1 smmsp    6700K  432K   0.0%   0:00:00 0.0%
     5 webservd   30M    0K   0.0%   0:00:00 0.0%
Total: 113 processes, 361 lwps, load averages: 0.90, 0.70, 0.86

点此查看 SUN系统管理员学习指南(全球唯一中文版免费在线阅读) for solaris 9&10
阅读(3280) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~