solaris系统性能监控维护命令.docx_第1页
solaris系统性能监控维护命令.docx_第2页
solaris系统性能监控维护命令.docx_第3页
solaris系统性能监控维护命令.docx_第4页
solaris系统性能监控维护命令.docx_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

solaris系统性能监控维护命令2011-11-21 22:48:02|分类: Solaris |标签: |字号大中小订阅 简述本节介绍了一些查看系统信息和监测系统资源与性能的工具,使用性能监测工具对当前系统有一个基本的了解,并根据收集到的信息选择其他相应的工具,进一步分离出性能瓶颈和寻找解决办法。本节根据查看系统信息、磁盘使用和I/O监测、CPU和内存监测、网络监测进行分类,介绍几种性能监测工具和监测手段,供大家在日常工作中选择参考。目录一、系统信息查看1、查看系统版本号的几个命令2、如何在Solaris下获取内存大小3、如何在Solaris下获取CPU速率二、磁盘使用和I/O监测1、检查磁盘使用状况工具df、du2、iostat 监视磁盘命令三、CPU和内存使用监测1、用vmstat监测CPU和内存,vmstat列出的属性详解2、prstat给出CPU和内存使用情况的动态注解3、mpstat命令报告每个处理器的统计信息4、proc工具报告某单独进程属性5、pmap命令报告单独进程的内存空间布局情况6、使用ps命令获取进程的内存、CPU利用状况及排序7、uptime和w命令查看过去15分钟内系统的负载情况8、使用top工具监测性能9、如何增加交换空间四、检查网络性能工具1、snoop诊断网络报文工具2、nfsstat监测NFS系统3、netstat监测网络接口4、Solaris下如何知道哪个进程使用了哪个端口5、ping 诊断网络连接和阻塞问题6、ipcs显示与内部进程通信有关的统计信息7、traceroute显示路由到目的地主机的报文,诊断网络拥堵8、route get ip获取通过的网关内容一、系统信息查看=1、查看系统版本号的几个命令1)看版本号# uname -aSunOS sunserver1 5.8 Generic_108528-13 sun4u sparc SUNW,Sun-Fire-280R2)看kernel版本号# showrevHostname: sunserver1Hostid: 8318005dRelease: 5.8Kernel architecture: sun4uApplication architecture: sparcHardware provider: Sun_MicrosystemsDomain:Kernel version: SunOS 5.8 Generic 108528-19 January 2003相关命令:#hostid#hostname3)看安装的补丁id#showrev p4)看是否安装了某个补丁#pkginfo |grep XXXXX=2、如何在Solaris下获取内存大小有以下几个命令供参考:/usr/platform/uname -m/sbin/prtdiag -v | grep Memoryprtconf -v | grep Memory如果装了GNU top,也可以直接用top命令看到。=3、如何在Solaris下获取CPU速率有以下几个命令供参考:# psrinfo -v# psrinfo | grep on-line | wc -l 简单给出CPU数目# /usr/platform/uname -i/sbin/prtdiag -v# /usr/platform/uname -m/sbin/prtdiag -v# /usr/bin/netstat -k cpu_info0=二、磁盘使用和I/O监测=1、检查磁盘使用状况工具df、dudf列出文件系统的块大小,及使用情况# df/ (/dev/dsk/c0t0d0s0 ): 745246 块 667064 文件/proc (/proc ): 0 块 7816 文件/dev/fd (fd ): 0 块 0 文件/etc/mnttab (mnttab ): 0 块 0 文件/var/run (swap ): 1227264 块 54271 文件/tmp (swap ): 1227264 块 54271 文件/space (/dev/dsk/c0t0d0s3 ): 2023574 块 1470851 文件df k以字节列出系统使用情况# df -k文件系统 千字节 用了 可用容量 挂接在/dev/dsk/c0t0d0s0 6191949 5819326 310704 95% /proc 0 0 0 0% /procfd 0 0 0 0% /dev/fdmnttab 0 0 0 0% /etc/mnttabswap 488768 0 488768 0% /var/runswap 490240 1472 488768 1% /tmp/dev/dsk/c0t0d0s3 12530787 11518984 886496 93% /space列出某一目录所在的设备使用情况# df -k /slli文件系统 千字节 用了 可用容量 挂接在/dev/dsk/c0t0d0s0 6191949 5819326 310704 95% /du列出某一目录的使用大小# du -s /export/home852690 /export/home# du -ks /export/home426345 /export/home列出某一目录下所有子目录及文件的大小# du /opt8 /opt/SUNWebnfs/JFileChooser-patch/com/sun/java/swing/plaf/windo10 /opt/SUNWebnfs/JFileChooser-patch/com/sun/java/swing/plaf12 /opt/SUNWebnfs/JFileChooser-patch/com/sun/java/swing14 /opt/SUNWebnfs/JFileChooser-patch/com/sun/java16 /opt/SUNWebnfs/JFileChooser-patch/com/sun18 /opt/SUNWebnfs/JFileChooser-patch/com =2、iostat 监视磁盘命令iostat命令报告磁盘的使用情况。表格中的每一行代表一个磁盘的活动信息。常用的选项有这些:参数n 按cXtYdZ格式指定磁盘。# iostat -n 2 tty c0t0d0 fd0 c0t2d0 cputin tout kps tps serv kps tps serv kps tps serv us sy wt id 0 16 476 23 7 0 0 0 0 0 0 2 2 10 86 0 97 170 22 11 0 0 0 0 0 0 0 3 0 97 0 33 24 3 1 0 0 0 0 0 0 0 0 0 100 0 34 12 2 1 0 0 0 0 0 0 0 0 0 100 0 34 0 0 0 0 0 0 0 0 0 0 0 0 100参数x 报告扩展统计信息。# iostat -x extended device statisticsdevice r/s w/s kr/s kw/s wait actv svc_t %w %bdad0 21.2 1.4 465.4 10.9 0.0 0.1 6.5 0 12fd0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0sd0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0 0参数z 这个选项在Solaris 8操作环境中是新的。它使得在采样间隔中没有磁盘活动的那些行被省略掉,这样可以让输出简短一些并且突出那些有活动的磁盘。# iostat -z 2 tty dad0 fd0 sd0 cputin tout kps tps serv kps tps serv kps tps serv us sy wt id 0 16 476 23 7 0 0 0 0 0 0 2 2 10 86 0 97 12 1 7 0 0 0 0 0 0 0 0 0 100参数p和P 报告分区前(per-partition)的I/O统计信息,当察看内存交换设备的时候有用。# iostat -p 2 tty dad0 dad0,a dad0,b dad0,c cputin tout kps tps serv kps tps serv kps tps serv kps tps serv us sy wt id 0 16 476 23 7 1 0 28 0 0 27 0 0 0 2 2 10 86 0 117 12 1 1 0 0 0 0 0 0 0 0 0 0 0 0 100参数E 对于找出产生错误的磁盘有用。# iostat -nEc0t0d0 Soft Errors: 0 Hard Errors: 0 Transport Errors: 0Model: ST320011A Revision: 3.19 Serial No: 3HT3XQ9XSize: 20.02GB Media Error: 0 Device Not Ready: 0 No Device: 0 Recoverable: 0Illegal Request: 0c0t2d0 Soft Errors: 0 Hard Errors: 2 Transport Errors: 0Vendor: LG Product: CD-ROM CRD-8483B Revision: 1.02 Serial No:Size:71GB Media Error: 0 Device Not Ready: 2 No Device: 0 Recoverable: 0Illegal Request: 0 Predictive Failure Analysis: 0此外,对于磁盘镜像,可能也会影响到一些I/O性能。=三、CPU和内存使用监测=1、用vmstat监测CPU和内存,vmstat列出的是些什么属性?# vmstat 2procs memory page disk faults cpur b w swap free re mf pi po fr de sr 1m 1m 1m 2m in sy cs us sy id0 0 0 5235888 387408 20 135 10 2 1 0 0 0 0 0 0 170 599 286 0 2 980 0 0 5192424 506360 2 4 0 0 0 0 0 0 0 0 0 152 67 173 0 0 1000 0 0 5192424 506360 0 0 0 0 0 0 0 0 0 0 0 149 138 175 0 0 990 0 0 5192424 506360 0 0 0 0 0 0 0 0 0 0 0 131 36 146 0 0 1000 0 0 5192424 506360 0 0 0 0 0 0 0 0 0 0 0 156 45 161 0 0 1000 0 0 5192424 506360 0 0 0 0 0 0 0 0 0 0 0 157 101 172 0 0 100vmstat各项:procs:r-在运行队列中等待的进程数b-在等待io的进程数w-可以进入运行队列但被替换的进程memoyswap-现时可用的交换内存(k表示)free-空闲的内存(k表示)pagesre回收的页面mf非严重错误的页面pi进入页面数(k表示)po出页面数(k表示)fr空余的页面数(k表示)de提前读入的页面中的未命中数sr通过时钟算法扫描的页面disk 显示每秒的磁盘操作。 s表示scsi盘,0表示盘号fault 显示每秒的中断数in设备中断sy系统中断cycpu交换cpu 表示cpu的使用状态cs用户进程使用的时间sy系统进程使用的时间idcpu空闲的时间如果 r经常大于 4 ,且id经常少于40,表示cpu的负荷很重。如果pi,po 长期不等于0,表示内存不足。如果disk 经常不等于0, 且在 b中的队列 大于3, 表示 io性能不好。CPU能力不足的例子。# vmstat 15procs memory page disk faults cpur b w swap free re mf pi po fr de sr m0 m1 m2 m3 in sy cs us sy id45 0 0 2887216 182104 3 707 449 6 455 0 80 2 6 1 0 1531 5797 983 61 30 958 0 0 2831312 46408 5 983 582 56 3211 0 492 0 0 0 0 1413 4797 1027 69 31 055 0 0 2830944 56064 2 649 656 3 806 0 121 0 0 0 0 1441 4627 989 69 31 057 0 0 2827704 48760 4 818 723 6 800 0 121 0 0 1 0 1606 4316 1160 66 34 056 0 0 2824712 47512 6 857 604 56 1736 0 261 0 0 1 0 1584 4939 1086 68 32 058 0 0 2813400 47056 7 856 673 33 2374 0 355 0 0 0 0 1676 5112 1114 70 30 060 1 0 2816712 49464 7 861 720 6 731 0 110 7 0 3 0 2329 6131 1067 64 36 058 0 0 2817552 48392 4 585 521 0 996 0 146 0 0 0 0 1357 6724 1059 71 29 0在procs下面标着r的一列是等待获得CPU的进程运行队列中的进程数。id列是CPU空闲时间。这台机器没有足够的CPU资源以满足进程运行的需要,这可以从它的大部分CPU时间花在用户空间里看出来(看us列)。这种情况解决办法,增加更多的CPU,或者,配合使用其他相关工具查出资源耗费较多的进程,对应用程序的代码作性能分析,看是否可以优化。vmstat中的fr列确实反映了空闲并且没有被页面缓存所使用的内存。使用-p选项,给出更准确的页面调度行为细节。为了确定是否有内存不足的情况存在,同时检查 (sr,也就是扫描率)和交换分区的磁盘I/O流量(用iostat -P)。如果大量的I/O活动由文件系统产生并且需要运行页面扫描程序为I/O释放页面,sr列会有比较大的数值。保存如何正常运转的样例。这样可以很容易地收集和保存每月的性能数据进行比较,如 vmstat, mpstat, iostat=2、prstat给出CPU和内存使用情况的一个动态注解示例:#prstat -cvm的输出结果非常有用。=3、mpstat命令报告每个处理器的统计信息mpstat命令报告每个处理器的统计信息,表格中的每一行代表一个处理器的活动情况。# mpstat 5CPU minf mjf xcal intr ithr csw icsw migr smtx srw syscl usr sys wt idl 0 3 19 0 451 327 300 11 0 0 0 322 2 2 10 86 0 1 0 0 405 303 258 3 0 0 0 176 0 0 0 100 0 0 134 0 711 456 559 21 0 0 0 622 9 8 34 49 0 2 28 0 644 434 703 143 0 0 0 1392 28 12 15 45 0 0 23 0 624 412 478 35 0 0 0 941 10 18 14 57mpstat可以确定每一个CPU都在花时间做什么:比如,分配给系统、用户、等待、空闲时间、系统调用、锁竞争、中断、错误、交叉调用。mpstat的wt列表明等待时间过多。 用户任务花时间太长。作为你积极的维护计划的一部分,检查/var/adm/messages中有没有比如磁盘重试之类的硬件问题或者有没有额外的消息产生也是很有价值的。大百科CPU 100%案例:大百科SUN系统经常报CPU 100%,CPU占用最高的进程有时竟然是一些僵尸进程,杀掉后CPU立刻降下来,在/var/adm/messages中疯狂报如下信息:Mar 3 16:45:15 dbksvr unix: ID 340762 kern.notice from Memory Module 1901Mar 3 16:45:15 dbksvr unix: ID 221138 kern.notice CONSIDER REPLACING THE MEMORY MODULE.Mar 3 16:45:15 dbksvr unix: ID 547813 kern.notice Multiple Softerrors:Mar 3 16:45:15 dbksvr unix: ID 356634 kern.notice 256 Intermittent, 0 Persistent, and 0 Sticky Softerrors accumulated怀疑时硬件内存条问题,当事务量小时,内存用不到这条有问题的,当事务量大时,开始使用此有问题的内存造成死锁,CPU高居100%.=4、proc工具报告进程属性proc是一个利用/proc的特性来报告比如这样一些进程属性的实用工具:1)pstack -调用栈2)pfiles -打开的文件描述符列表3)pldd -正在运行中的进程使用的动态链接库的列表示例:#ps -efroot 1838 1 0 3月 03 ? 0:00 /usr/sbin/syslogdroot 1479 1 0 3月 03 ? 0:01 ocfserv # pstack 18381838: /usr/sbin/syslogd- lwp# 1 / thread# 12 -ff217ac8 poll (ff03bd0c, 1, ffffffff) ff15b35c poll (c, ff174780, 1, 2a8c8, 2b164, fe401000) + 34 ff15bc08 _thread_start (0, 0, 0, 0, 0, 0) + 40- lwp# 2 / thread# 2 - # ptree 18381933 /usr/dt/bin/dtlogin -daemon 6359 /usr/dt/bin/dtlogin -daemon 6380 /bin/ksh /usr/dt/bin/Xsession6390 /usr/openwin/bin/fbconsole # pfiles 18381838: /usr/sbin/syslogd Current rlimit: 1024 file descriptors 0: S_IFCHR mode:0600 dev:136,0 ino:749016 uid:0 gid:3 rdev:97,0 O_WRONLY|O_APPEND 1: S_IFCHR mode:0666 dev:136,0 ino:749009 uid:0 gid:3 rdev:13,2 O_RDONLY|O_LARGEFILE # pldd 18381838: /usr/sbin/syslogd/usr/lib/libnsl.so.1/usr/lib/libpthread.so.1/usr/lib/libdoor.so.1/usr/lib/libc.so.1 =5、pmap命令报告单独进程的内存空间布局情况对于单独的进程,pmap命令报告单独进程的内存空间布局情况(-x选项比较有用)。示例:#ps ef|grep httpd root 1158 1 0 3月 03 ? 0:00 /opt/IBMHTTPD/bin/httpd daemon 1064 1063 0 3月 03 ? 0:00 /usr/lib/ab2/dweb/sunos5tpd /usr/lib/ab2/dweb/data nobody 1704 1158 0 3月 03 ? 0:00 /opt/IBMHTTPD/bin/httpd nobody 1705 1158 0 3月 03 ? 0:00 /opt/IBMHTTPD/bin/httpd #pmap x 17101710: /opt/IBMHTTPD/bin/httpd00010000 584K read/exec /opt/IBMHTTPD/bin/httpd000B0000 40K read/write/exec /opt/IBMHTTPD/bin/httpd000BA000 208K read/write/exec heap FECA0000 24K read/exec /usr/lib/nss_files.so.1FECB6000 8K read/write/exec /usr/lib/nss_files.so.1FECC0000 368K read/write/shared anon FED20000 136K read/exec /opt/WebSphere/AppServer/bin/libascommon.so =6、使用ps命令获取进程的内存、CPU利用状况及排序ps命令显示正在运行进程某一时刻的相关数据,使用ps命令获取进程的内存、CPU利用状况。用这些命令可以看到使用CPU和内存最多的进程:1)# ps -eo pid,pcpu,args | sort +1nCPU百分比2)# ps -eo pid,vsz,args | sort +1nK字节的虚拟内存3)# /usr/ucb/ps -aux |more# /usr/ucb/ps -aux | head输出被排序,使用CPU和内存最多的进程排在上面。注意:/usr/bin/ps和/usr/ucb/ps时两个不同的工具。/usr/ucb/ps中,stat列显示了各进程的状态:R 进程可运行s 睡眠,不可中断S 睡眠I 空闲T 停挂H 挂起W 被换出到磁盘上? 进程超过了内存的软限制+ 带有一个控制端的进程领导者N 进程在优先级降低的情况下运行 进程在优先级升高情况下运行=7、uptime和w命令查看过去15分钟内系统的负载情况uptime 可以很开的制导系统一运行了多长时间,以及在过去15分钟内系统的负载情况。W命令(谁在系统中)和uptime相似,第一行给出了uptime的信息,后面给出用户信息。示例:# uptime下午 2点54分 运行 7 天 16 分钟 7 users, 平均负载:0.02, 0.06, 0.06# w下午 2点54分 运行 7 天 16 分钟 7 users, 平均负载:0.02, 0.06, 0.06用户名 终端号 登入时间 闲置 JCPU PCPU 执行命令root console 周五上午10点 3天 3:11 27 /usr/dt/bin/dtexecroot pts/11 周五上午11点 3天 -shroot pts/13 周五上午11点 3天 -shroot pts/15 下午 1点21分 1:07 telnet root pts/12 周二上午11点 9 13:00 tcsh=8、使用top工具监测性能top是第三方软件,需要另外安装,Solaris 8的top安装版本在sunserver1的/SoftWare下。top列出消耗CPU最多的15个进程,并不断更新。1)top命令有几个参数选项,仅介绍以下几种,其他的请参考文档:I 不显示空闲进程d count 更新结果count次退出,缺省无限大,ctl+c或ctl+d退出d time 连续两次刷新时间间隔,缺省5秒U username 只显示属于用户username的进程示例:# top列出消耗CPU最多的15个所有进程# top -Ilast pid: 8671; load averages: 0.02, 0.02, 0.03 17:28:1112 processes: 108 sleeping, 2 zombie, 1 stopped, 1 on cpuCPU states: 99.8% idle, 0.0% user, 0.2% kernel, 0.0% iowait, 0.0% swapMemory: 512M real, 162M free, 274M swap in use, 599M swap free PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND 8671 root 1 59 0 2624K 1656K cpu 0:00 0.27% top 6358 root 1 59 0 30M 21M sleep 7:42 0.03% Xsun 8670 oracle 1 59 0 105M 80M sleep 0:00 0.03% oracle 8669 oracle 4 59 0 9536K 5496K sleep 0:00 0.02% sqlplus 1270 root 13 58 0 39M 17M sleep 2:04 0.02% java# top -U oraclelast pid: 8673; load averages: 0.02, 0.02, 0.03 17:29:40112 processes: 108 sleeping, 2 zombie, 1 stopped, 1 on cpuCPU states: 99.8% idle, 0.0% user, 0.2% kernel, 0.0% iowait, 0.0% swapMemory: 512M real, 162M free, 274M swap in use, 599M swap free PID USERNAME THR PRI NICE SIZE RES STATE TIME CPU COMMAND 2294 oracle 1 48 0 105M 78M sleep 0:09 0.00% oracle 2306 oracle 1 52 0 12M 6664K sleep 0:07 0.00% tnslsnr 2292 oracle 11 59 0 107M 76M sleep 0:06 0.00% oracle 8425 oracle 11 58 0 108M 84M sleep 0:01 0.00% oracle 2288 oracle 29 59 0 108M 77M sleep 0:01 0.00% oracle 仅列出oracle用户的进程2)和top一起使用交互命令d 改变显示数,如开始使用top d 命令显示,按d可以改变显示数n 改变显示的进程数s 改变刷新的时间间隔k 杀掉指定的PIDI或i 切换是否显示空闲进程=9、 如何增加交换空间安装完系统后无法改变分区大小,但是可以增加/删除交换文件,效果类似交换分区。下列命令在根目录下创建一个500MB的交换文件,名为swapfile# mkfile 500m /swapfile使之生效# swap -a /swapfile现在你有了额外的500MB交换空间,为了每次重启后依旧有效,编辑/etc/vfstab文件,增加如下行/swapfile - - swap - no # swap -l这里-l意味着list,显示所有交换空间。仔细阅读swap和mkfile的手册页。=四、检查网络性能工具=1、snoop诊断网络报文工具snoop捕获并显示诊断网络问题发出的网络报文示例:# snoop# snoop r |grep 9此命令锁定某一ip传输过来的所有网络报文,可以捕获输入和回显,甚至口令的明码,很恐怖吧:)=2、nfsstat监测NFS系统nfsstat显示了客户机和服务器的NFS统计信息,包括超时、重传、等待错误及有关cache命中和失效的信息。可以判断是否是NFS造成网络性能下降。示例:# nfsstat |more参见nfsstat的帮助文档和参数。=3、netstat监测网络接口1)# netstat a显示关于internet协议套接字状态的统计结果2)# netstat i 2显示关于网络接口的统计结果,此命令很重要。2为间隔时间参数,可调。# netstat -i 2 input lo0:1 output input (Total) outputpackets errs packets errs colls packets errs packets errs colls0 0 0 0 0 3505609 0 3263609 1 357920 0 0 0 0 8 0 5 0 00 0 0 0 0 18 0 12 0 03)# netstat n缺省时netstat将地址解析成主机名,使用n选项,取消解析使用ip地址4)# netstat r显示主机的路由表# netstat -rRouting Table: IPv4 Destination Gateway Flags Ref Use Interface- - - - - -clusternode2-priv clusternode2-priv UGH 1 0 clusternode1-priv U 1 8 qfe2:228 29 U 1 8 qfe2 U 1 8 qfe0 sunserver1 U 1 24 eri0 sunserver U 1 0 eri0:1 localhost U 1 0 lo0 sunserver1 U 1 0 eri0default UG 1 10localhost localhost U

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论