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,并应用在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 int r 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 web servd 30M 0K 0.0% 0:00:00 0.0%
Total: 113 processes, 361 lwps, load averages: 0.90, 0.70, 0.86
监控你的网络流量(snoop&netstat)
snoop 抓包
solaris自带snoop抓包工具 ,抓所有数据流
# snoop
Using device /dev/pcn0 (promiscuous mode)
192.168.8.18 -> 192.168.255.255 NBT NS Query Request for WORKGROUP[1c], Success
192.168.253.35 -> solaris TELNET C port=1246
solaris -> 192.168.253.35 TELNET R port=1246 Using device /dev/pc
solaris -> 192.168.253.35 TELNET R port=1246 Using device /dev/pc
192.168.4.150 -> (broadcast) ARP C Who is 192.168.4.200, 192.168.4.200 ?
192.168.4.200 -> (broadcast) ARP C Who is 192.168.4.150, 192.168.4.150 ?
#
抓源地址或目的为 202.101.98.55的数据流:
# snoop 202.101.98.55
Using device /dev/pcn0 (promiscuous mode)
192.168.253.35 -> dns.fz.fj.cn DNS C www.163.com. Internet Addr ?
dns.fz.fj.cn -> 192.168.253.35 DNS R www.163.com. Internet CNAME www.cache.split.netease.com.
#
说明:internet cname 后的为解析www.163.com 的名字时,代表www.163.com 回答的主机的域名。
抓 192.168.253.35和202.101.98.55之间的数据流(双向都抓)
# snoop 192.168.253.35 202.101.98.55
Using device /dev/pcn0 (promiscuous mode)
192.168.253.35 -> dns.fz.fj.cn DNS C www.google.com. Internet Addr ?
dns.fz.fj.cn -> 192.168.253.35 DNS R www.google.com. Internet CNAME www.l.google.com.
#
抓完存在当前目录下的cap文件中并查看
# snoop -o cap1 -P -P表示处在非混杂模式抓数据,只抓广播、主播、目的为本机的数据
Using device /dev/pcn0 (non promiscuous)
15 ^C 15的含义是:显示目前抓了多少个数据流
#
# snoop -i cap1
1 0.00000 192.168.253.35 -> solaris TELNET C port=1246
2 0.18198 192.168.253.35 -> solaris TELNET C port=1246
3 0.37232 192.168.4.199 -> 192.168.255.255 NBT Datagram Service Type=17 Source=WB-200[20]
4 0.00016 ? -> (multicast) ETHER Type=EF08 (Unknown), size = 180bytes
5 0.62546 192.168.253.35 -> solaris TELNET C port=1246
6 0.13822 ? -> (multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes
7 0.06283 192.168.253.35 -> solaris TELNET C port=1246
8 0.90301 192.168.253.35 -> solaris TELNET C port=1246
9 0.19781 192.168.253.35 -> solaris TELNET C port=1246
10 0.81493 ? -> (multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes
11 0.07018 192.168.253.35 -> solaris TELNET C port=1246
12 0.19939 192.168.253.35 -> solaris TELNET C port=1246
13 0.90151 192.168.253.35 -> solaris TELNET C port=1246
14 0.18904 192.168.253.35 -> solaris TELNET C port=1246
15 0.68422 ? -> (multicast) ETHER Type=0000 (LLC/802.3), size = 52 bytes
#snoop -i cap1 -p 10,12 只看10-12条记录
#snoop -i cap1 -p10 只看第10条记录
# snoop -i cap1 -v -p101 查看第10条数据流的包头的详细内容
#snoop -i cap1 -v -x 0 -p101 查看第10条数据流的全部的详细内容
抓主机192.168.253.35和202.101.98.55之间的tcp或者udp端口53的数据
# snoop 192.168.253.35 and 202.101.98.55 and /(tcp or udp/) and port 53
输入(的时候要加转义符号/
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 最详细的显示数据的信息
-x offset [ , length] 以16进制或ACSII方式显示某数据的部分内容,比如 -x 0,10 只显示0-10字节
#snoop -i cap1 -v -x 0 -p101 查看被抓获的第101个数据流的全部内容
表达式:
根据地址:
#snoop x.x.x.x IPV4的IP
#snoop 0XX:XX:XX:XX ETHERNET的MAC地址
数据的方向:
from x.x.x.x 或者 src x.x.x.x
to x.x.x.x 或者 dst x.x.x.x
可用的数据类型的关键词:
ip, ip6, arp, rarp, pppoed, pppoes,pppoe,broadcast,multicast,apple,decnet
udp, tcp, icmp, icmp6, ah, esp
greater length
True if the packet is longer than length.
less length
True if the packet is shorter than length.
net net
# snoop from net 192.168.1.0 抓来自192.168.1.0/24的数据
# snoop from net 192.168.0.0 抓来自192.168.0.0/16的数据
port xx XX为TCP或者UDP的端口号或者 /etc/services里定义的名字
#snoop to udp and port 53 抓到UDP53的数据
常见管理命令
寻求对solaris系统性能问题感兴趣的朋友(下面的文章是抛砖引玉,希望大家多指教)
日常运行中服务器性能不好,究其原因是一件很复杂的事情,一种情况可能是目前的服务器配置不能满足业务增长的需要;另一种情况可能是应用软件结构的不合理,数据文件和数据库存放的不合理,网络结构不合理。
系统管理员的主要任务是使用各种工具和命令诊断出问题所在,明确出什么应用程序在大量消耗系统资源(CPU、内存、磁盘IO、网络带宽等),然后应用开发人员去优化应用程序降低对系统资源的占用率来提高响应速度。
性能调优主要关注的是系统资源的利用,系统资源分为物理的和逻辑的,物理的如:CPU、内存、输入输出设备(包括磁盘设备、IO总线、通讯线和各种 控制卡 等),逻辑的资源如:LVM(逻辑卷管理器)、VMM(虚存管理器)、文件系统、Page space (缓存)和队列等。这些资源对系统性能的影响轻重缓急不同,合理利用这些资源有许多途径,如果条件允许可首先通过优化程序代码和数据结构降低对资源的要 求;尽量使用合理的资源;以及合理控制分配资源。另外,可以通过扩充新的硬件设备来提升处理速度。
系统在不同时间内的平均负荷(Last mimute、Last 5 minutes、Last 15 minutes)是用来评估系统是否超负荷运行较方便、较常用的一种方法。
系统性能分析的标准工具:
CPU :
vmstat sar ps
内存:
vmstat ps
磁盘:
iostat vmstat
网络:
netstat nfsstat
性能调优一般步骤
性能调优的主要目的是使系统能够有效的利用各种资源,但衡量系统资源利用率好坏的标准是什么,针对不同的系统和应用没有严格的定义,一般参照以下条件来判定主要资源使用状况:
好 坏 糟糕
CPU user% + sys%< 70% user% + sys%= 85%user% + sys% =90%+
磁盘 iowait % < 30%iowait % =40%iowait % = 50%+
内存 无pagein pageout每个CPU 达到10 page/秒更多的pageinpageout
网络 < 30% 网络带宽
运行队列(Run Queue) < 2 * CPU个数
通过以下步骤,发现影响整体性能的关键资源,进行性能优化,必要时需要添加或升级某种硬件设备。
1.用iostat、sar、 tprof检测是否是CPU原因
2.用vmstat、svmon检测是否是内存原因
3.用filemon、iostat检测是否是硬盘原因
4.用netstat 、nfsstat检测是否是网络原因
以上步骤是一个交互的过程,当某个瓶颈被去掉后,有可能另外的资源又变为新的瓶颈,需要重新从步骤1开始反复再观察。
·sar 统计单CPU系统的系统活动状况
·cpusar 统计多处理器中单个处理器的活动状况
·mpsar 统计多处理器中处理器的总体活动状况
1、sar -u显示项的含义(检查CPU的使用率)
·%usr cpu执行用户进程的时间
·%sys cpu执行系统进程的时间
·%wio cpu等待完成I/O的时间
·%idel cpu 的空闲时间
显示结果分析说明
·一般情况下%usr和%sys的值基本相等
·在一般的多用户系统中,%idel的值通常大于40%
·若 %wio经常>15%意味着硬盘可能存在着瓶颈
·若%idel经常小于30%,意味着处理器的处理能力较弱
·若%idel经常小于10%,表明处理器负担较重,或者存在逃逸进程。
·若%idel接近于0,而且%sys远高于% usr,则可能是内存短缺引起了大量的swaping和paging
2、sar -p 检查系统中是否有较多的等待进程
·Sar -p:检查系统中是否有过多的等待进程
此命令有四个相关字段:
runq-sz:内存(memory)中可以运行的进程数
%runocc:进程进入内存等待的概率
swpq-sz:对换区(swap)中等待运行的进程数
%swpocc:进程进入swap等待的概率
显示结果分析汇总如下:
1) 若runq-sz经常大于2并且%runocc经常大于90%,意味着处理器负载过重
2) 若%swpocc不为0,表示系统已经置换出了进程。可以采用增加内存或减少缓冲的方法来减少swap和paging。
netstat
网络问题是影响系统性能的问题之一,诊断网络问题最简单的工具是netstat -i,命令结果显示了在每一个接口发送和接收数据包的情况,其中的3项:ierrs、oerrs and collis与网络性能问题有关:
1.ierrs, 是指主机从网络接收数据包中包含有多少不正确的数据包,如果ierrs很大,通常表明硬件接口存在问题或硬件驱动器接受数据包较慢,此时应该在不同时间多 次采集数据进行比较来决定采取什么措施。正常情况下,ierrs/opkts< 0.025%.
2.oerrs,是指主机从网络送出的数据包中包含有多少不正确的数据包。正常情况下oerrs/ipkts< 0.025%.
3.collis,碰撞是在局域网中有两面三刀个或以上系统同时发送数据时产生的,如果碰撞率(collis/opkts)大于 5%,说明网络负荷过大。此时应该调整网络结构,减少网络流量。
Uptime
是用来衡量一个机器开机长短的。Uptime 显示的时间越大,说明机器越稳定。
======================
性能监控对测试 工程师来讲至关重要,因为有很多软件的平台是基于unix的,其中solaris为主,通常我们需要监控机器的CPU,内存,磁盘,以及网络流量等。主要包括:
处理器
内存
网络
磁盘,卷和文件系统
系统和用户进程
输入输出(I/O,input/output)
如果需要更深入的了解瓶颈所在,可使用dtrace工具。OpenSolaris DTrace Community提供了一些专注于此方面的dtrace脚本,可在执行性能调优时使用。
第一节:处理器监控
1、solaris
查看处理器状态,psrinfo显示处理器每个核(core)的状态信息
-bash-3.00$ /usr/sbin/psrinfo
0 on-line since 10/13/2007 02:30:32
1 on-line since 10/13/2007 02:30:33
2 on-line since 10/13/2007 02:30:33
....
查看处理器的详细信息
-bash-3.00$ /usr/sbin/psrinfo -v
Status of virtual processor 0 as of: 12/27/2007 09:39:37
on-line since 10/13/2007 02:30:32.
The sparcv9 processor operates at 1000 MHz,
and has a sparcv9 floating point processor.
Status of virtual processor 1 as of: 12/27/2007 09:39:37
on-line since 10/13/2007 02:30:33.
The sparcv9 processor operates at 1000 MHz,
and has a sparcv9 floating point processor.
....
来个中文的:
bash-3.00$ /usr/sbin/psrinfo -v
虚拟处理器 0 在下列时间的状态:12/27/2007 13:14:53
自 12/27/2007 12:59:29 开始已在运行。
i386 处理器以 1333 MHz 运行,
而且有 i387 compatible 浮点数处理器
查看每个处理器(同样以核为单位)的统计信息,用mpstat命令
bash-3.00$ mpstat 2 5
CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl
0 1058 21 0 309 224 1029 65 0 5 0 2825 16 35 0 49
0 8 0 0 345 245 217 2 0 1 0 62 0 2 0 98
0 10 0 0 343 244 209 1 0 1 0 64 0 2 0 98
0 0 0 0 478 378 498 68 0 67 0 54 0 11 0 89
0 0 0 0 346 245 208 1 0 1 0 60 0 1 0 99
输出中,一般看最后四个字段:usr,sys,wt,idl。idl不低于30基本没事,sys如果常高于15需引起注意,wt是历史遗留字段对于solaris10而言总是0。其他 几个常见字段:
xcal 多个处理器间交叉调用的次数
csw 处理器执行上下文交换的次数
syscl 本处理器执行系统调用的次数
注意:mpstat之类的按时间与次数的采样工具的输出第一行是自系统启动以来的汇总平均值统计
此外,kstat命令也可以用来收集处理器的信息:
bash-3.00$ kstat -m cpu
module: cpu instance: 0
name: intrstat class: misc
crtime 29.699815013
level-1-count 65517
level-1-time 991179530
level-10-count 163269
level-10-time 97182752330
level-11-count 0
level-11-time 0
level-12-count 2
level-12-time 238486
第二节:内存
1、solaris
solaris通常使用vmstat命令来查看系统的虚拟内存子系统的状态信息。vmstat可显示swap,物理内存,分页错误,磁盘信息统计和错误等信息.
bash-3.00$ vmstat 2 3
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 0 730888 228436 43 196 62 1 1 0 38 0 6 0 0 313 557 343 3 10 87
0 0 0 731096 221556 3 25 0 0 0 0 0 0 0 0 0 341 111 208 0 3 97
0 0 0 731092 221548 0 0 0 0 0 0 0 0 0 0 0 334 90 205 8 3 89
【注意】
swap为空余的swap空间(此处的swap为总的swap空间而不仅仅指swap分片的空间),free为空余的可用物理内存
列出用于交换空间的硬盘分片或文件的使用情况:
bash-3.00# swap -l
交换文件 dev swaplo blocks free
/dev/dsk/c1t0d0s3 54,3 8 1048568 1048568
列出交换空间的总体使用情况:
bash-3.00# swap -s
总数:分配了 113024k 字节 + 保留 15340k = 已使用 128364k,730172k 可用
查看内存分页的汇总情况
bash-3.00# echo ::memstat | mdb -k
Page Summary Pages MB %Tot
------------ ---------------- ---------------- ----
Kernel 27734 108 22%
Anon 29908 116 23%
Exec and libs 5862 22 5%
Page cache 12306 48 10%
Free (cachelist) 18780 73 15%
Free (freelist) 34320 134 27%
Total 128910 503
此外还可以使用kstat查看内存的详细信息(以每个内存模块为单位)
$ kstat -m vmem | more
module: vmem instance: 1
name: heap class: vmem
alloc 6254
contains 0
contains_search 0
crtime 0
fail 0
free 1200
lookup 113
mem_import 0
mem_inuse 86376448
mem_total 1646524366848
populate_fail 0
populate_wait 0
search 4381
snaptime 2441.858424006
vmem_source 0
wait 0
......
第三节:网络负荷监控
1、solaris
最常见的都是用netstat命令,且redhat和solaris的常见使用方法基本一致。netstat命令可用来查看路由表、当前活跃的网络连接、各种网络数据结构、流内存统计,接口状态、DHCP等信息。常见的使用方式有:
netstat -rn 看路由
netstat -in 看流量统计
netstat -an 看连接信息
netstat -pn 看ARP解析表(MAC-IP映射表)
此外,solaris可以使用kstat命令查看网络信息
bash-3.00$ kstat -m e1000g | more 模块(-m)可填网卡驱动类型,比如e1000g,e1000g0,bge,hme...
module: e1000g instance: 0
name: e1000g0 class: net
brdcstrcv 0
brdcstxmt 0
collisions 0
crtime 43.023212228
ierrors 0
ifspeed 1000000000
ipackets 3421
ipackets64 3421
第四节:磁盘,卷和文件系统监控
1、solaris
查看文件系统空间
#df -h
文件系统 大小 用了 可用 容量 挂接在
/dev/dsk/c1t0d0s0 480M 278M 154M 65% /
/devices 0K 0K 0K 0% /devices
ctfs 0K 0K 0K 0% /system/contract
proc 0K 0K 0K 0% /proc
......
查看文件系统类型
# fstyp /dev/rdsk/c1t0d0s1
ufs
solaris中类似的命令为prtvtoc,可列出指定磁盘的分区信息:
# prtvtoc /dev/rdsk/c1t0d0s2
* /dev/rdsk/c1t0d0s2 partition map
*
* Dimensions:
* 512 bytes/sector
* 32 sectors/track
* 128 tracks/cylinder
* 4096 sectors/cylinder
* 4094 cylinders
* 4092 accessible cylinders
*
* Flags:
* 1: unmountable
* 10: read-only
*
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
0 2 00 1052672 1048576 2101247 /
1 7 00 2101248 1273856 3375103 /var
2 5 00 0 16760832 16760831
3 3 01 4096 1048576 1052671
5 0 00 3375104 1048576 4423679 /opt
6 4 00 4423680 11288576 15712255 /usr
7 8 00 15712256 1048576 16760831 /export/home
8 1 01 0 4096 4095