作为你积极的维护计划的一部分,检查/var/adm/messages中有没有比如磁盘重试之类的硬件问题或者有没有额外的消息产生也是很有价值的 。
察看系统的历史信息也非常有价值;如果你的系统曾经有过更好的性能,画一条时间曲线详细记录何时第一次发现性能变差以及从什么时候开始性能一直很差 。
2.知道你的系统在正常情况下会怎样
保存你的系统是如何正常运转的样例是一个好主意 。你可以很容易地收集和保存每月的性能数据,比如:
*stat类:vmstat,mpstat,iostat,vxstat,sar
ps的输出以显示哪些进程在运行(在Solaris8操作环境下是prstat) 。另外,有不少商业的和无支持的产品都可以用来做性能监测 。一个免费的无支持的可选产品是SEToolkit(要获得其各种版本的信息,请看SunPerformanceSEToolkitpage) 。SEToolkit报告磁盘活动、CPU利用情况、TCP和网络连接、内存,以及其他更多信息 。在我们的经验里,它安装方便,不需要重启系统,并且生成容易理解的图形显示 。
很多这类产品都存在一个共同的问题,就是对不同的硬件配置有不同的门限值 。例如,特定的门限值对于400-MHz的系统可能显得太过,会让这个系统慢得象是在爬一样,但是对于一个900-MHz的系统却可能是可以接受的 。
3.寻找性能瓶颈
一旦你已经定义了需要解决的性能问题,下一步骤就是缩小范围到瓶颈产生的地方 。
这个阶段有必要问这样一些问题:
应用程序能告诉我它看到哪些是瓶颈?拿Oracle作例子,一个Oracle数据库管理员应该知道BSTAT/ESTATS是什么以及如何运行和理解它们 。还是那句话,从应用程序的角度来看问题,BSTATS/ESTATS可以显示限制了Oralce性能的瓶颈,这可以作为进一步分析的指导 。
大部分的时间花在哪里,是内核还是用户进程?通过vmstat、mpstat、sar、ps、prstat可以回答这个问题 。
具有相近类型的所有资源是否同样繁忙?这个问题的意义在于寻找资源的不平等分布 。比如,一个磁盘可能是瓶颈所在,或者一个CPU会比其他CPU更忙 。对CPU,看mpstat 。对磁盘,用iostat 。哪个或哪些进程在使用最多的资源?用这些命令可以看到使用CPU和内存最多的进程:
ps-eopid,pcpu,args|sort 1n
CPU百分比:
ps-eopid,vsz,args|sort 1n
K字节的虚拟内存:
/usr/ucb/psaux|more
输出被排序,使用CPU和内存最多的进程排在上面 。
Solaris8操作环境提供了prstat,它给出CPU和内存使用情况的一个动态注解 。prstat-cvm的输出结果非常有用 。
我们现在来看看怎用使常见的Solaris命令来开始性能分析 。
vmstat命令是简单的 。这里我们可以看到一个对于正在执行的应用程序,CPU能力不足的例子 。
%vmstat15
procsmemorypagediskfaultscpu
rbwswapfreeremfpipofrdesrm0m1m2m3insycsussyid
450028872161821043707449645508026101531579798361309
580028313124640859835825632110492000014134797102769310
550028309445606426496563806012100001441462798969310
5700282770448760481872368000121001016064316116066340
560028247124751268576045617360261001015844939108668320
580028134004705678566733323740355000016765112111470300
6010281671249464786172067310110703023296131106764360
5800281755248392458552109960146000013576724105971290
vmstat输出的第一行总是可以忽略 。在"procs"下面标着"r"的一列是等待获得CPU的进程运行队列中的进程数 。"id"列是CPU空闲时间 。这台机器没有足够的CPU资源以满足进程运行的需要,这可以从它的大部分CPU时间花在用户空间里看出来(看"us"列) 。
【Oracle在Solaris下的性能与调整简介】这里有两种办法可供采用——第一,增加更多的CPU,或者第二,对应用程序的代码作性能分析看看是不是应用程序的某部分可以优化 。对代码片断作优化可能会需要非常大量的努力——而且有时候收到的效果很少 。在关系到时间的时候,最好在考虑你可能的“投资回报时现实一点 。
推荐阅读
- 棚菜冬季育苗防病抓四点
- 苹果手写键盘在哪里设置
- 雷神山在哪 雷神山医院在哪
- 抖音星空妆特效怎么使用 星空妆在哪里找到
- 胶水粘到桌子怎么去除
- 关于笔形键在输入法中的应用
- 王者荣耀实名认证在哪里?王者荣耀实名认证操作教程
- Sun Solaris 用户手册 -- 七.进程管理
- Solaris 8 如何更改字体目录?
- 副词比较级和最高级变化规则
