Solaris性能检测(prstat)

prstat:系统进程监控
下面将深入探讨 Solaris 工具 prstat(1),帮助了解系统效用的全面实用工具
prstat – 全面的实用工具

Solaris 中最重要、使用最广的实用工具是 prstat(参见 prstat(1))。prstat 可以快速回答以下问题:

*系统占用了多少 CPU 和内存?
*系统效用了哪些进程(或用户、 zone 、项目、任务)?
*系统怎样使用进程/线程(用户绑定,I/O 绑定)?

在最简单的形式中,prstat (即 prstat 2)将检测所有进程并根据 CPU 使用率报告数据。
进程的顺序根据当前的 CPU 使用率从高(最多)到低(最少)排列(% - 100% 表示所有系统 CPU 都完全利用)。对于列表中的每个进程,将打印以下信息:

* PID:进程的进程 ID。
*USERNAME:真实用户(登录)名称或真实用户 ID。
*SIZE:进程的总虚拟内存大小,以 K、M 或 G 为单位。
*RSS:进程的驻留集大小 (RSS),以 K、M 或 G 为单位。
*STATE:进程的状态 (cpuN/sleep/wait/run/zombie/stop)。
*PRI:进程的优先级。数字更大表示优先级更高。
*NICE:优先级计算中使用的 nice 值。只有特定调度类中的进程才有 nice 值。
*TIME:进程的累计执行时间。
*CPU:进程使用的当前 CPU 时间的百分比。如果在非全局域中执行并且池设备是活动的,百分比将是 zone 绑定的池所使用的处理器集合中处理器的百分比。
*PROCESS:进程的名称(执行文件的名称)。
*NLWP:进程中 lwps 的数量。

prstat 的 参数是采样/刷新的时间间隔(以秒为单位)。

http://blog.chinaunix.net/u2/60332/showart_1274828.html

solaris查看物理内存的占用情况To determine the physical RAM size, enter the following command:
# /usr/sbin/prtconf | grep "Memory size"
To determine the size of the configured swap space, enter the following command:
# /usr/sbin/swap -s
To determine the amount of disk space available in the /tmp directory, enter the following command:
# df -k /tmp
# df -h /tmp (on Solaris 10)


prstat -a
vmstat 5 5
CPU: To see details about the CPUs, 
you can use the -v (verbose) option: >
psrinfo -v
There are three major flags that you can use with sar :
sar -u
Shows CPU activity
sar -w
Shows swapping activity
sar -b
Shows buffer activity
The first represents the time interval between samples and
the second represents the number of samples to take. For example:
sar -u 10 5
一个分析内存占用很好的文章:

http://bbs.chinaunix.net/viewthread.php?tid=579449&extra=&page=1

[@more@]

http://bbs.chinaunix.net/viewthread.php?tid=579449&extra=&page=1

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

IO 性能监控
# 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
网络监控可以使用netstat命令来进行
同时对于OS的性能还可以使用
[url=javascript:;]其他[/url]
工具还监控,如sar,top等,而有些solaris系统没有安装,我们可以下载安装包进行安装;
from:
http://www.51testing.com/?22937/action_viewspace_itemid_80256.html


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/68079/showart_1889740.html

请使用浏览器的分享功能分享到微信等