UNIX系统性能优化solaris.ppt
《UNIX系统性能优化solaris.ppt》由会员分享,可在线阅读,更多相关《UNIX系统性能优化solaris.ppt(96页珍藏版)》请在三一办公上搜索。
1、UNIX系统性能优化 solaris,亿阳信通培训部 方景明Email:MSN:facesmile_,性能管理介绍,1.1 什么是性能调整 性能调整是指让系统有效地运用系统资源,以便工作负载更好的运行在系统上。性能调整的两个主要工作:1、消除系统上运行的不必要的工作;2、获取系统的优势,以满足系统运行的工作负荷。几乎所有的性能调整行为都包含在这两类工作中。1.2 基本的调试过程 查找系统的瓶颈并且消除它。性能调整的工作永远不可能结束,因为瓶颈永远存在。性能调整提供一种花销与硬件之间的折衷方案。,性能管理介绍,1.3 影响系统性能的因素 有许多因素会影响系统的运行方式,这包括:1、系统自身的工作
2、负载 工作负载也许是由于I/O的限制、CPU限制或者是由于网络访问的密度的限制。2、网络访问的随机组成 网络中询问的多少、记录的多少、发送E-mail的多少,以及登录系统的用户的多少都会影响系统的性能。3、系统自身的改变 系统添加新的硬件、新的网络访问、新安装软件、patch的新的运算规则,也都会影响系统的性能。,性能管理介绍,1.4 性能度量的术语 性能调整是指让系统有效地运用系统资源,以便工作负载更好的运行在系统上。1、带宽(bandwidth)不能超越的最大容量;忽略超载部分的数量值;刚好达到最佳的数量值;在实际运用中永远不能达到的值 2、吞吐量(throughput)在指定的时间间隔内
3、完成的工作量;实际运用中带宽的大小;,性能管理介绍,依赖于许多因素,如硬件、软件、人为行为以及系统的随 机因素;难以计算,但可以近似估计。3、响应时间(response time)用户或请求者的请求完成所花费的时间;一个操作完成所花费的时间;通常与等待时间相同。4、服务时间(service time)实际的请求处理时间;服务时间等于没有队列等待时间的响应时间。服务时间+队列等待时间=响应时间,调试工具,2.1 sunos所提供的调试工具 1、sar(system activity reporter)命令 sar 命令提供覆盖系统大部分范围的系统测量信息。options:-a:报告DNLC(di
4、rectory name lookup cache)信息;-A:包含所有的参数;-c:报告系统调用和读/写传输;-d:报告block设备(disk、tape)的情况;-g:报告页面调度的情况;-k:报告kernel、memory的分配情况;-p:报告页面调度的错误;,调试工具,-r:有效的memory页面和swap空间;-u:CPU的利用率;-w:系统swap和进程交换的状态;-y:TTY设备状态。#sar c 10Sunos sun250 5.8 Genric_105181_26 sun4u 07/31/0218:38:03 scall/s sread/s swrit/s fork/s ex
5、ec/s rchar/s wchar/s18:38:13 306 27 31 0.00 0.00 5643 5942,调试工具,2、vmstat(virtual memory statistics)命令 vmstat命令报告虚拟内存的统计信息。options:-c 报告缓存刷新的信息;-i 报告每个设备的中断数目;-s 显示系统引导之后的系统事件统计;-S 报告交换行为而非分页行为。#vmstat procs memory page disk faults cpu r b w swap free re mf pi po fr de sr s0 s1-in sy cs us sy id 0 0
6、0 217352 60448 0 5 6 0 0 0 0 1 0 0 0 115 114 55 1 3 96,调试工具,procs:报告进程的状态及其数目 r:运行的队列里的进程 b:I/O、分页被阻隔的进程 w:可运行但被交换的进程 memory:报告虚拟内存和真实的内存 swap:当前可用的交换空间 free:闲置的空间 page:报告页面活动数量的信息 re:被回收的页面 mf:次要错误,地址空间或硬件地址转换错误 pi:页面调入(K bytes),调试工具,po:页面调出(K tybes)fr:被释放的空间(K tybes)de:预期的内存缺乏(K tybes)sr:被扫描的页面 di
7、sk:报告每秒钟内磁盘操作的总数 S:SCSI I:IDE faults:报告中断的比率 in:(无时钟)设备的中断 sy:系统调用 cs:cpu的上下文交换 cpu:使用cpu的时间百分比 us:用户时间 sy:系统时间 id:空闲时间,调试工具,3、iostat(I/O statistics)报告disk 和TTY设备的I/O性能 options:-c:cpu状态-d:disk数据传输以及平均服务时间-D:disk每秒钟的读写次数及使用百分比-e:设备错误统计(硬错误、软错误)-E:所有设备的错误及其详细信息-M:以m为单位报告I/O的吞吐量-x:显示磁盘扩展的统计信息-t:显示终端设备信
8、息,调试工具,#iostat xtc 5 2 extended device statistics tty cpu device r/s w/s kr/s kw/s wait actv svc_t%w%b tin tout us sy wt id sd0 1.6 0.3 23.0 2.7 0.0 0.1 0.1 0 1 0 761 0 1 2 97 sd6 0.0 0.0 0.0 0.0 0.0 0.0 12.5 0 0 disk:磁盘名 r/s:每秒读盘次数 w/s:每秒写盘次数 kr/s:每秒读的字节数(K bytes)kw/s:每秒写的字节数(K bytes)wait:队列的长度 act
9、v:正在接收服务的平均事务数 svc_t:平均服务时间%w:有事务在等待服务的时间(百分比)%b:磁盘繁忙时间(百分比)tin:终端输入,调试工具,4、mpstat 报告每个处理器的统计信息#mpstat 5 cpu minf mjf xcal intr ithr csw icsw migr smtx srw syscal usr sys wt idl 0 1 0 368 102 102 36 0 0 0 0 420 0 1 2 96 1 1 0 186 420 220 39 0 0 6 0 82 0 0 2 98 cpu:处理器ID minf:次要的故障 mjf:主要的故障 xcal:跨处理
10、器的调用 intr:中断 ithr:线程中断,调试工具,csw:上下文交换 icsw:强制的上下文交换 migr:向另一处理器的线程传递 smtx:互斥信号的转换 srw:读写锁的转换 syscal:系统调用 usr:用户时间百分比 sys:系统时间百分比 wt:等待时间百分比 idl:空闲时间百分比,调试工具,5、netstat 报告网络利用信息,包括DHCP(动态主机配置协议),arp信息和传输情况。options:-a:显示所有的套接字(sockets)和路由表信息;-d:显示所有的运用DHCP协议的接口状态;-D:显示DHCP 配置接口;-i:显示所有的TCP/Ip接口状态;-k:ke
11、rnel memory 分配的细节;-n:显示所有的网络地址;-p:显示arp列表;-r:显示路由表;-s:显示每种协议的状态。,调试工具,#netstat i name mtu net/dest address ipkts iperrs opkts oerrs collis queue lo0 8232 lookback localhost 1780 0 1780 0 0 0 hme0 1500 sun250 sun250 161636 0 230771 0 0 0#netstat p device ip address mask flags phys addr hme0 192.168.1
12、.27 255.255.255.255 00:40:d0:1d:00:1e hme1 192.168.1.37 255.255.255.255 00:00:e8:7b:f7:39,调试工具,6、nfsstat:报告系统nfs 状态的详细信息,包含server 和client 的信息,帮助寻找问题的位置。options:-c:只显示client的信息;-m:显示nfs 挂接的状态;-n:显示nfs的信息,包括server 和client的信息;-r:显示rpc的信息;-s:只显示server信息,2.2 其它的工具 1、/usr/proc/bin(/usr/bin)目录/usr/proc/bin
13、目录中的工具与/proc文件系统相关联,允许报告进程的细节信息。/usr/proc/bin/ptree:列出与当前进程相关的父进程与子进程,以及提供进程运行的文件信息。#ptree/usr/sbin/inetd-s t 565 rpc.ttdbserverd 571 rpc.rstatd,调试工具,/usr/proc/bin/pcred:显示进程的凭证(有效、真实的UID、GID)/usr/proc/bin/pmap:显示进程的地址空间图。/usr/proc/bin/pldd:列出每个进程的动态数据库连接,包括共享目录。/usr/proc/bin/psig:列出每个进程的信号的作用。/usr/
14、proc/bin/pstack:显示进程的堆栈。/usr/proc/bin/pwdx:显示每个进程当前的工作目录。/usr/proc/bin/pstop:停止指定的进程。/usr/proc/bin/prun:运行指定的进程。/usr/proc/bin/pwait:等待指定的所有进程结束。,调试工具,2.3进程管理器(process manager)进程管理器能查找有问题的进程,并且跟踪当前系统资源的运用情况。#/usr/dt/bin/sdtprocess&它所显示的信息是从ps 命令和/proc文件系统得到的。这包括:1、cpu的利用率 2、I/O的利用率 3、memory利用率 4、进程的凭
15、证 5、跟踪与反向跟踪 6、调度参数,调试工具,调试工具,2.4显示调度参数 1、sysdef命令可以显示近60个运行的调度参数。#sysdef system configuration swapfile dev swaplo blocks free/dev/dsk/c0t0d0s1 32,1 16 2101536 2101536 tunable parameters10362880 maximum memory allowed in buffer cache 7914 maximum number of processes,调试工具,2、adb命令,内核调试器。允许你察看并改变调整参数的值。
16、3、ndd 命令,能查看并且改变网络设备和协议栈的参数。#ndd get/dev/ip ip_forwarding 1#ndd set/dev/ip ip_forwarding 0关闭ip转发。#ndd set/dev/ip ip_respond_to_echo_broadcast 0关闭echo广播响应,防止dos攻击,调试工具,2.5 一些有用的命令 1、/usr/platform/sun4u/sbin/prtdiag 显示系统的配置信息,包括cpu的频率、ecache大小、存储器的大小以及外围设备的配置。2、psrinfo 显示处理器的配置与诊断信息。#psrinfo 0 on-line
17、 since 09/22/02 17:38:18 1 off-line since 09/22/02 17:38:18-v 选项还可以显示处理器的类型与时钟速率信息。3、psradm命令可以设置处理器在线或离线。#psradm-f 1;将cpu 1 设置位离线。#psradm-n 1;将cpu 1 设置位在线。,调试工具,2.6 设置调试参数 在/etc/system文件里可以改变调试参数,内核被加载到memory之后会读一次/etc/system文件。在/etc/system文件中所定义的参数被放置在kernel里的合适的位置,然后系统继续初始化。因此,在改变/etc/system文件后,必
18、须reboot系统。#vi/etc/system set maxusers=40 forceload:/drv/foo,调试工具,注意:/etc/system 文件能用来设置常驻在kernel 里的调试和一些选项参数的值,如果/etc/system 文件中的参数改变不正确,可能会导致系统无法启动。,调试工具,3.1 Virtual Memory Virtual memory 是提供给程序比系统真实的内存更多的存储空间的一种技术。Memory 能为程序所见,能被使用的memory的总数,叫虚拟内存。它通过OS在应用程序需要的时候创建,在它被程序使用完成之后释放。如果虚拟内存中的物理内存部分没有足
19、够的空间,就会产生页面输出(paged out).每一个进程能够得到它自己的Virtual memory 空间,当前的系统能达到4GB.这叫进程运行的地址空间。Virtual memory是通过段(segment)来管理的。,内存调整,3.2 进程的地址空间进程的地址空间被分配到不少于15个段(segments)里。正文(text)是可执行程序中的可执行指令通过编译器(compiler)所产生的。数据(data)包含程序当中的全局变量、常量、静态变量,它同样是从程序的初始化过程中得到的。heap(堆):是用来存储一些类型程序的memory。hole:是未被分配的地址空间部分,还未被使用。sha
20、red libraries:是被程序应用的共享程序库。它带有data、text段,与普通的可执行文件有相同的结构。Stack(堆栈):程序的地址空间。堆栈的大小是8M。,内存调整,Kernel:通常是虚拟内存的1/2。Kernel的实际大小的改变依赖于许多因素,如外围设备配置和系统真实的memory的大小。,内存调整,3.3 segment(段)的类型 段是其驱动程序管理的,正如设备是它的驱动程序管理一样。段的驱动程序负责段的创建、复制(fork)和删除,同时处理段的页面错误。用于用户进程的公共段的驱动程序是segvn driver,它映射文件到地址空间。设备的段是segdev,为frame
21、buffer.,内存调整,内存调整,3.4 伪地址的翻译 memory 类似于disk,需要一个目录机制来允许系统确定真实的Memory中的页面(page),这个过程叫地址翻译。地址翻译执行3个阶段的查找,逻辑地址部分能被翻译成列表当中的引索,最终提供与逻辑地址相对应的真实地址。翻译在CPU中的MMU硬件中进行,如果翻译不能执行,则发生中断标志页面错误,OS 必须修复它。如果翻译合法,OS必须查找页面和其包含的数据。,内存调整,内存调整,3.5 页面描述缓存(page Descriptor cache)地址翻译过程花销昂贵,在数据被访问之前需要3次memory访问,必须完成每一个指令和操作。被
22、翻译的地址保存在特定的cache 里,通常能保存256条纪录,这就叫PDC(page Descriptor cache),也叫TLB(translation lookaside buffer)或DLAT(dynamic lookaside table)。访问PDC速度很快,事实上比cache one 速度快。在多CPU系统中,每一个CPU(和I/O接口)都有它自己的PDC。,内存调整,3.6 伪地址的查找,内存调整,3.6 页面调度与交换 页面调度是在swap区与物理内存之间移动进程的个别页 交换是在swap区与物理内存之间移动进程全部地址空间3.7 监控页面调度和交换 vmstat 报告虚拟
23、内存的统计信息、cpu符合、页面调度和交换#vmstat procs memory page disk faults cpu r b w swap free re mf pi po fr de sr s0 s1-in sy cs us sy id 0 0 0 217352 60448 0 5 6 0 0 0 0 1 0 0 0 115 114 55 1 3 96,内存调整,3.8 swap命令也可监视页面调度和交换。swap命令可以增加、删除和监视系统的交换空间。#swap-s total:25728k bytes allocated+6140k reserved=31868k used,56
24、496k available,内存调整,#swap l swapfile dev swaplo bloks free/dev/dsk/c0t0d0s1 32,25 8 132040 119944/dev/dsk/c0t1d0s1 32,9 8 132040 120176 swapfile:交换空间(swap)的路径名 dev:块设备 swaplo:交换区开始的地方。blocks:交换区的长度。free:当前未被分配的块数。1 blocks=512 bytes,内存调整,增加交换区空间#swap a/dev/dsk/c0t1d0s1#mkfile 20m/export/data/swapfile
25、#swap-a/export/data/swapfile 删除交换区空间#swap d/dev/dsk/c0t1d0s1#swap-d/export/data/swapfile#rm/export/data/swapfile,内存调整,3.9 页面调度技巧1、交换区空间不小于32M。小于32M,系统会快速从swap区中溢出,一些程序将被中止。2、空闲页扫描速度不要超过192页/秒。如果速度大于192页/秒,表明物理内存严重匮乏。,内存调整,3.10 系统配置要点 有三个因素显著影响存储子系统的性能:1、交换空间的大小和分布 2、/etc/system文件的maxslp变量的值 maxslp系统
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- UNIX 系统 性能 优化 solaris

链接地址:https://www.31ppt.com/p-2349254.html