做系统管理的不可能单纯的仅接触solaris,unix大同小异,完全可以从solaris出发达到触类旁通的目的。近日有空,看些Linux的管理文档,主要是看Linux和Solaris的区别点,顺手发些心得,这是第八篇:性能监控
从Linux到Solaris (updating) 目录:
性能监控(本帖) 备份恢复 故障诊断
Solaris新特性(new)
作者保留版权,转载请注明出处,来自cu-yuhuohu. 第八章:性能监控
性能监控对服务器管理员来讲至关重要,通常我们需要监控机器的CPU,内存,磁盘,以及网络流量等。主要包括: 处理器 内存 网络
磁盘,卷和文件系统 系统和用户进程
输入输出(I/O,input/output)
如果需要更深入的了解瓶颈所在,可使用dtrace工具。OpenSolaris DTrace Community提供了一些专注于此方面的dtrace脚本,可在执行性能调优时使用。
第一节:处理器监控 QUOTE: 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 0 2 0 98 0 0 0 0 478 378 498 68 0 67 0 0 11 0 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 ......
2、redhat
查看处理器状态,用dmesg从启动信息中查看处理器每个核(core)的状态信息
[root@es4u5 ~]# dmesg | grep -i cpu Initializing CPU#0
CPU: L1 I Cache: K ( bytes/line), D cache K ( bytes/line) CPU: L2 Cache: 512K ( bytes/line)
CPU: AMD Athlon(tm) Processor 3200+ stepping 02 ACPI: Processor [CPU0] (supports C1, 8 throttling states) Losing some ticks... checking if CPU frequency changed.[/fiont]
查看处理器的详细信息
[root@es4u5 ~]# cat /proc/cpuinfo processor : 0
vendor_id : AuthenticAMD cpu family : 15 model : 47
model name : AMD Athlon(tm) Processor 3200+ stepping : 2 cpu MHz : 1329.309 cache size : 512 KB fpu : yes fpu_exception : yes cpuid level : 1 wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext lm 3dnowext 3dnow pni bogomips : 2671.67 TLB size : 1088 4K pages clflush size : cache_alignment :
address sizes : 36 bits physical, 48 bits virtual power management: ts fid vid ttp [4] [5]
作者保留版权,转载请注明出处,来自cu-yuhuohu.
第二节:内存 QUOTE: 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 2218 0 0 0 0 0 0 0 0 0 0 0 334 90 205 8 3 【注意】 swap为空余的swap空间(此处的swap为总的swap空间而不仅仅指swap分片的空间),free为空余的可用物理内存
列出用于交换空间的硬盘分片或文件的使用情况:
bash-3.00# swap -l
交换文件 dev swaplo blocks free /dev/dsk/c1t0d0s3 ,3 8 1048568 1048568
列出交换空间的总体使用情况:
bash-3.00# swap -s
总数:分配了 113024k 字节 + 保留 15340k = 已使用 1283k,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 1210 503
此外还可以使用kstat查看内存的详细信息(以每个内存模块为单位)
$ kstat -m vmem | more
module: vmem instance: 1
name: heap class: vmem alloc 62 contains 0 contains_search 0 crtime 0 fail 0 free 1200 lookup 113 mem_import 0 mem_inuse 863748 mem_total 16524366848 populate_fail 0 populate_wait 0 search 4381
snaptime 2441.858424006 vmem_source 0 wait 0 ......
2、redhat
[root@es4u5 ~]# vmstat 2 3
procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu---- r b swpd free buff cache si so bi bo in cs us sy id wa 0 0 0 16068 447 99016 0 0 19 4 1015 31 0 3 96 0 0 0 0 16068 447 99016 0 0 0 0 1011 16 0 1 100 0 0 0 0 16068 447 99016 0 0 0 0 1012 19 0 1 99 0
# free --------------列出内存的使用汇总情况 total used free shared buffers cached Mem: 251016 235008 16008 0 44792 99032 -/+ buffers/cache: 91184 159832 Swap: 7824 0 7824
# cat /proc/meminfo --------------列出内存的详细状态信息
MemTotal: 251016 kB MemFree: 1344 kB Buffers: 10988 kB Cached: 8 kB SwapCached: 0 kB Active: 51288 kB Inactive: 35008 kB HighTotal: 0 kB HighFree: 0 kB LowTotal: 251016 kB LowFree: 1344 kB SwapTotal: 7824 kB SwapFree: 7824 kB Dirty: 44 kB Writeback: 0 kB Mapped: 32428 kB Slab: 19236 kB CommitLimit: 911932 kB Committed_AS: 90048 kB PageTables: 3704 kB VmallocTotal: 536870911 kB VmallocUsed: 1804 kB VmallocChunk: 536868343 kB HugePages_Total: 0 HugePages_Free: 0 Hugepagesize: 2048 kB
作者保留版权,转载请注明出处,来自cu-yuhuohu. 第三节:网络负荷监控 QUOTE: 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 动类型,比如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 ipackets 3421 ......
2、redhat
使用netstat命令,基本同solaris。区别在于-p选项
redhat的netstat -pn:显示每个socket所属的程序名和进程ID
作者保留版权,转载请注明出处,来自cu-yuhuohu. 第四节:磁盘,卷和文件系统监控 QUOTE: 1、solaris
查看文件系统空间
模块(-m)可填网卡驱#df -h
文件系统 大小 用了 可用 容量 挂接在 /dev/dsk/c1t0d0s0 480M 278M 1M 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
2、redhat
redhat的df命令有个-T选项,可方便的查看文件系统类型 # df -hT
Filesystem Type Size Used Avail Use% Mounted on /dev/mapper/VolGroup00-LogVol00
ext3 1008M 179M 779M 19% / /dev/sda1 ext3 99M 11M 84M 11% /boot none tmpfs 123M 0 123M 0% /dev/shm /dev/mapper/VolGroup00-LogVol04
ext3 1.1G 34M 1013M 4% /home /dev/mapper/VolGroup00-LogVol02
ext3 4.0G 2.1G 1.8G 55% /usr /dev/mapper/VolGroup00-LogVol03
ext3 1008M 90M 868M 10% /var
# fdisk -l --------------会列出系统认到的所有硬盘和U盘的分区信息
Disk /dev/cciss/c0d0: 146.7 GB, 1467786840 bytes 255 heads, 63 sectors/track, 17844 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes
Device Boot Start End Blocks Id System /dev/cciss/c0d0p1 * 1 261 20951 83 Linux /dev/cciss/c0d0p2 262 8094 62918572+ 83 Linux /dev/cciss/c0d0p3 8095 12271 33551752+ 82 Linux swap /dev/cciss/c0d0p4 12272 17844 44765122+ 5 Extended /dev/cciss/c0d0p5 12272 14360 16779861 83 Linux /dev/cciss/c0d0p6 14361 149 16779861 83 Linux /dev/cciss/c0d0p7 150 16971 4192933+ 83 Linux /dev/cciss/c0d0p8 16972 17493 4192933+ 83 Linux
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
作者保留版权,转载请注明出处,来自cu-yuhuohu. 第五节:系统和用户进程监控 QUOTE: 1、solaris # prstat
2、redhat # top
Solaris没有自带top工具,如果要用top命令,需要到http://www.sunfreeware.com/ 下载对应版本的top工具包安装。
作者保留版权,转载请注明出处,来自cu-yuhuohu. 第六节:输入输出(I/O)监控 QUOTE: 1、solaris
# iostat 30 5 隔30秒采集一次,共采集5次
输出的一行,照例还是汇总平均值
2、redhat
# vmstat 30 5
作者保留版权,转载请注明出处,来自cu-yuhuohu.
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo8.com 版权所有 湘ICP备2023022238号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务