福 建 电 脑福 建 电 脑 2008年第5期福 建 电 脑
类UNIX操作系统性能监控
李全胜,张胜光,陈燕红
(新疆农业大学计算机与信息工程学院 新疆 乌鲁木齐 830052)
【摘 要】:类UNIX操作系统作为服务器平台被广泛使用,在日常维护中会出现性能方面的问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
,影响系统性能的因素
有很多,本文从系统的整体负荷、内存、CPU等方面进行了阐述,介绍了系统性能监控、结果分析中的一些
方法
快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载
和经验,为进
一步的系统性能优化提供指导依据。
【关键词】:UNIX;性能;监控
实践证明 UNIX以及各种 UNIX变体操作系统是高性能、
稳定可靠而又相当灵活的。世界上许多知名软件公司纷纷推出
各种 UNIX服务器系统及相应的应用软件。类UNIX操作系统目
前已占据了服务器市场上的绝大部分份额。类 UNIX服务器系
统多种多样,可用于搭建 Web服务器,邮件服务器,DNS服务器
以及数据库服务器等,针对不同的系统以及具体的应用环境,可
以对系统的性能进行监测并进行相应的调谐。
系统管理员、程序员以及用户可以通过一系列的命令检查
系统资源的使用情况以确定系统是否正常地运行。使用本文介
绍的一些基本命令和方法,用户能够很容易地理解影响系统性
能的因素,并且掌握使用有关工具分析解释系统性能的方法。
1、监控整个系统性能
监控系统性能首先要了解整个系统的负载情况,这也有助
于管理员在深入研究各子系统性能之前对系统的整体性能有一
个认识。
1.1使用uptime命令监控系统状态
使用uptime命令是监控UNIX系统性能的简便方法。该命
令显示了在一定时间间隔内系统运行队列中进程的信息。根据
这些数据可以大致地分析出系统的工作负载。例如:
$uptime
11:49am up227day(s),23:29,1user,loadaverage:4.31,
4.36,4.34
其中有用的信息是三个负载的平均值。4.31,4.36和4.34分
别是前1分钟、5分钟和15分钟内的平均负载值。
系统管理员需要定期地运行 uptime命令以观察系统的平
均负载值及其变化趋势。系统存在的问题往往会通过上述数据
反映出来。若系统出现问题,管理员还需要进一步的调查分析。
例如当系统负载增大时,这意味着可能有作业被阻塞在内存和
I/O系统中,这时就需要调查系统有关调页、交换和磁盘利用率
的有关情况。
类 UNIX系统中,负载平均值为 2和 3表示轻负载,5至 6
表示中等程度的负载,10以上为过载。当然,不同系统上轻载过
载的划分界线并不尽相同,管理员可定时采样,根据实际情况确
定自己系统中的划分界线。观察负载平均值的变化趋势非常重
要,上例中的负载平均值几乎是恒定的。若系统出现问题,那么
负载平均值会持续地下降。
1.2使用sar-q命令监控系统性能
还可以使用sar-q命令来获取系统整体性能的报告 [1]。-q
选项报告平均队列长度以及队列占用时间的百分比。例如间隔
3秒采样4次:
$sar-q34
11:50:26runq-sz%runoccswpq-sz%swpocc
11:50:29 2.0 100 0.0 0
11:50:32 2.0 99 0.0 0
11:50:35 2.3 99 0.0 0
11:50:38 2.0 99 0.0 0
Average 2.1 99 0.0 0
其中各域的含义如下:
runq-sz表示在一定时间间隔内运行队列的长度。运行队列
中只包括那些在内存中处于运行就绪状态的进程而不包括那些
处于睡眠或等待 I/O状态的作业。
%rnuocc运行队列中进程所占用的时间百分比。
swpq-sz表示在一定时间间隔内交换队列的长度。
%swpocc交换队列中进程所占用的时间百分比。
当系统正常运行时,运行队列长度值应小于 2,若该值一直
较大则
说明
关于失联党员情况说明岗位说明总经理岗位说明书会计岗位说明书行政主管岗位说明书
系统具有较重的负载并且CPU受限。当运行队列较
长并且占有100%的时间时,内存和磁盘子系统可能会影响系统
的性能。交换活动很少说明系统处于正常的工作状态。
2、监控内存性能
系统的物理内存是一定,当程序运行期间需要更多的内存
时,系统会采用调页和交换机制来保证作业的正常运行。偶尔的
调页和交换是可以接受的,但是频繁的调页和交换会增加 I/O
的负载,进而影响到内存资源的分配,降低系统运行效率。vmstat
和sar都可以报告关于系统调页和交换的信息。
2.1使用vmstat监控内存性能
vmstat命令可以检测出虚拟内存的统计信息,而且可以显
示有关进程状态、空闲和交换空间、调页、磁盘空间、CPU负载和
交换、Cache刷新等方面的信息[2][3]。例如在3秒间隔内进行4次
采样:
$vmstat34
kthr memory page disk faults cpu
rbwswapfreeremfpipofrdesrs6sdsdsd in sy csussyid
000800143211292082328313200000116622529224373
30042598647335122182300000003519690704209370
20042656967385443 3030000000715648925039280
20042656967385120 1000000003535753353919370
各域的详细信息可以查询 man手册页获得帮助,这里只介
绍一些重要域的含义:
khtr表示处于下面各状态的进程数目:
r运行队列;b被阻塞、等待资源;w被交换、等待处理资源。
memory报告虚拟和实际内存使用情况;
swap当前可用交换分区大小;free空闲表的大小。
page报告在某一间隔以及 1秒内页故障和调页的活动情
况。
pi调入字节数,以 k字节为单位;po调出字节数,以 k字节
为单位。
fr空闲字节数,以 k字节为单位;de预计短期内缺少的内
存。
CPUCPU使用时间。
从上述各域中能够发现一些与系统性能有关的信息,其中
po和w域较为重要,当使用-s选项时,so域最为重要。这些域反
映了调页和交换的时间。当w为非零值且 po的值一直较高时,
这说明系统有严重的内存问题。
162
福 建 电 脑2008年第5期 福 建 电 脑
另外,比较 CPU的空闲时间 id、系统时间 sy和用户时间 us
可以分析系统工作负载的组成。当系统工作负载增加时,CPU的
用户时间会占较大比例,同时空闲时间将随着负载的增加而下
降,在负载较重时,空闲时间可能降为0。
若 r的值大于系统中可用 CPU个数的 4倍则系统存在
CPU的问题,系统中有较多的进程在等待CPU,造成系统运行过
慢。若CPU空闲时间id持续为0,并且系统时间sy是用户时间
us的2倍,则系统面临着CPU资源的短缺[4]。
需要说明的是,vmstat命令的第一行没有具体意义,观察统
计时应从第二行开始。
2.2使用sar-wgr监控内存性能
使用sar-wgr命令可以显示大部分系统对内存资源使用的
情况,-w选项报告系统交换活动情况,-g选项报告换页活动情
况,-r选项报告未使用的内存页和磁盘块的情况。在3秒间隔内
进行4次采样,如下所示:
$sar-wgr-orep34
11:58:25swpin/sbswin/sswpot/sbswot/spswch/s
pgout/sppgout/spgfree/spgscan/s%ufs_ipf
freememfreeswap
11:58:28 0.00 0.0 0.00 0.0 415
0.33 0.33 0.00 0.00 0.00
998898606527
⋯⋯
Average 0.00 0.0 0.00 0.0 394
Average 0.25 0.25 0.00 0.00 0.00
Average 1001358627883
其中主要域的含义为:
swpot/s每妙从内存到交换区传输的交数,该值大于1时,说
明系统需要安装更多的内存。
bswot/s每妙换出内存数据块的次数。pswch/s每妙内进程切
换的次数。
atch/s每妙页面故障次数。
pgin/s每妙文件系统请求将页面调入内存的次数。ppgin/s
每妙调入内存的页面数目。
pgout/s每妙文件系统请求将页面调出内存的次数。ppgout/s
每妙调出页面的数目。
根据上述返回信息,检查换出内存的页面数,看看页面换出
是否经常发生,地址变换是否具有较高的出错率,换出内存的次
数是否较高,有以上情况发生时,说明系统存在着内存问题。一
两次的报告只能反映系统某些暂时的性能,因此系统管理员在
诊断系统性能时可以进行多次采样。上例中,使用-o选项将返
回结果以二进制格式保存到了当前目录下的 rep文件中,这有
助于将来对结果进行查询分析。
3、监控磁盘系统性能
3.1使用iostat命令监控磁盘性能
iostat命令用来检查磁盘的输入输出,并产生吞吐量、利用
率、队列长度、传输率以及服务时间等报告,例如间隔 3秒采样
4次:
$iostat34
tty sd6 ssd0 ssd1 ssd2 cpu
tintoutkpstpsservkpstpsservkpstpsservkpstpsservussywtid
0 0 0 0 0 0 0 7 0 0 2 14 1 11 223075
0 78 0 0 0 0 0 0 0 0 0 0 0 0 95500
0 27 0 0 0 0 0 0 0 0 0 3 0 12 94600
0 27 0 0 0 0 0 0 0 0 0 0 0 0 93700
命令执行后,会显示有关终端(tty)、磁盘(fd和 sd)以及
CPU的统计信息。对于磁盘iostat显示域的含义为:
bps每秒传送块数;tps每妙传输的次数;serv平均服务时
间。bps域表示磁盘传输的速度,tps域表示每秒发送到物理磁盘
上传输的个数(I/O请求的个数),一次传输可以由多个逻辑上的
请求构成。serv域显示了I/O系统对每次传输的平均服务时间。
3.2使用sar-d命令监控磁盘性能
sar-d命令报告了系统磁盘I/O活动情况,如间隔 3秒采样
4次:
$sar-d34
19:06:05 device %busy avque r+w/sblks/savwait
avserv
19:06:08 nfs1 0 0.0 0 0 0.0 0.0
sd6 0 0.0 0 0 0.0 0.0
ssd0 0 0.0 0 0 0.0 0.0
ssd0,c 0 0.0 0 0 0.0 0.0
ssd0,h 0 0.0 0 0 0.0 0.0
⋯⋯
其中主要域的含义为:
%busy磁盘忙所占时间百分比。
avque在指定间隔内,平均处理的请求个数。
avwait每个请求在队列中等待的平均时间。
avserv每次传输所使用时间(包括寻道延迟、旋转延迟和数
据传输时间)的平均值。
上例中显示出系统的负载很轻,因为%busy、队列长度和等
待时间的值都很小。另外,使用sar-d命令做出一些判断之前,
最好配合使用vmstat命令。如果系统内存有问题,也会引起 I/O
的性能问题,这时应先解决内存问题。
4、监控网络性能
网络问题是影响系统性能的问题之一,使用 netstat-i命令
可以监控网络的性能并且可以报告一些网络内部的信息[3]。如
下例:
$netstat-i
Name Mtu Net/Dest Address Ipkts IerrsOpkts
OerrsCollisQueue
lo0 8232loopback localhost 229614602296146
0 0 0
eri01500www www 7676437390651882413
484 0 0
其中主要域的含义是:
Mtu最大传输单元,或是接口支持的包的最大值。
Ipkts最近一次引导后,系统接收包的个数。
Ierrs最近一次引导后,系统接收时出错次数,该值与 Ipkts
相比,应十分小,否则说明出现了网络故障。
Opkts最近一次引导后,系统发送包的个数。
Oerrs最近一次引导后,系统发送时出错次数。
Collis检测到的冲突次数,该值不应超过 Opkts的 5%到
10%,否则说明网络中碰撞太多,影响了其带宽。
若怀疑网络出现问题时可多次执行该命令,正常时 Ipkts和
Opkts的值应持续增加,若 Ipkts增加而 Opkts不变则说明服务
器没有响应其他客户机的请求。若 Ipkts不变化,说明服务器根
本就没从网络上接收数据。
使用netstat命令还可以检查网络的负载的情况:
$netstat-n
TCP:IPv4
LocalAddress RemoteAddress SwindSend-QRwindRecv-Q State
-------------------- -------------------- ----- ------
----------- -------
www.80 222.169.28.134.5340365353 049368 0FIN_WAIT_2
www.80 222.82.211.58.1439 256776 049640 0FIN_WAIT_2
www.80 222.25.237.173.173264946 049640 0TIME_WAIT
www.80 123.5.136.93.59247 254112 431950400 0ESTAB-
163
福 建 电 脑福 建 电 脑 2008年第5期福 建 电 脑
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(上接第156页)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
(上接第153页)
对于和发件人合法性相关的这两种阻止却放在了 DATA指令后
(邮件发送结束前)。这绝对不是程序作者的疏忽,而是有意让垃
圾邮件先进入服务器。这样即使对垃圾邮件误判,在紧急情况下
收件人也可以通过系统管理员在服务器上找回被拒收的邮件,
而不必让发件人重新发送。
因此我们不难得出结论:只要配置得当,ASSP对于常见垃
圾邮件的防御是基本有效的。
参考文献:
1.《中国互联网络发展状况统计报告》,中国互联网络信息中心,2007年
1月。
2.Anti-SpamSMTPProxy,http://assp.sourceforge.net/
3.PaulHoffman,"UnsolicitedBulkEmail:DefinitionsandProblems",In-
ternetMailConsortium Report:UBE-DEF,IMCR-004 (October5,
1997).
4.SethGodin,"PermissionMarketing:TurningStrangersIntoFriendsAnd
FriendsIntoCustomers",Simon&Schuster(1999).
5.Mockapetris,P.,"Domainnames-implementationandspecification",
STD13,RFC1035(November1987).
6.Tor:anonymityonline,https://tor.eff.org/
7.Crocker,D.,"StandardfortheFormatofARPAInternetTextMessages",
STD11,RFC822(August,1982).
8.Postel,J.,"SimpleMailTransferProtocol",STD10,RFC821,USC/In-
formationSciencesInstitute(August1982).
9.中国反垃圾邮件联盟 (CASA),http://anti-spam.org.cn/
密通讯的全球化标准。由于SSL技术已建立到所有主要的浏览
器和WEB服务器程序中,因此,仅需安装数字证书,或服务器证
书就可以激活服务器功能了。
参考文献:
1.刘海龙.PKI及可信电子签名系统的研究.博士学位论文.北京航空航
天大学.2003年5月
2.侯秀萍.基于 XML的电子病历系统的研究.硕士学位论文.吉林大学.
2003年5月
3.郑重.数字签名在电子病历系统中的应用研究和实现.硕士学位论文.
中国人民解放军军医进修学院.2005年5月
4.李颖.基于J2EE的平衡线索二叉哈希树证书撤消系统
设计
领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计
与实现.硕
士学位论文.西南交通大学.2004年9月
5.甘玲.网络安全核心技术PKI的研究与实现.硕士学位论文.四川大学.
2003年4月
6.陈敬佳.基于PKI技术的网络安全平台设计与实现.硕士学位论文.武
汉理工大学.2006年5月
7.王坤,李建,谢培泰.网络安全协议研究[J].计算机工程与应用,2002,(20)
8.原仓周,柳重堪,张其善.一种电子病历系统的安全化
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
[J].计算机工
程,2004,(09)
LISHED
⋯⋯
其中 Send-Q比较重要,它反映了发送包队列的长度。若
Send-Q的值十分大并且在某些连接上还在不断增加,则说明网
络出现了故障。
若怀疑因为物理故障而导致网络问题,网络工程师可以使
用诊断设备定位故障并排除。若是因为网络太忙而导致冲突、超
时和重发次数的增加,就需要重新划分网络负载,然后通过提高
子网的性能来提高整个网络的性能。
5、监控CPU性能
除文中前面介绍的 sar-q、vmstat命令可以检测 CPU的负
载外,sar-u命令也可以简便迅速地报告系统的整体性能,-u选
项将报告CPU的性能[1]。CPU状态分为忙和空闲,当CPU忙时
可能正在执行用户态的程序也可能在内核态下运行。当 CPU空
闲时,不是在等待I/O就是在空转。
$sar-u34
17:10:40 %usr %sys %wio %idle
17:10:43 93 7 0 0
17:10:46 91 9 0 0
17:10:49 90 10 0 0
17:10:52 94 6 0 0
Average 92 8 0 0
其中各域的含义为:
%usrCPU在用户态下执行所占的时间百分比。
%sysCPU在内核态下执行所占时间百分比。
%wioCPU等待 I/O所占时间的百分比。若该值很高,则需
要检查I/O子系统的效率。
%idleCPU空闲所占时间的百分比。若该值较高,而系统负
载又很重,则可能是内存或I/O系统有问题。
多数用户都希望在负载条件下,%idle值为 0,因为这样最
大地发挥了CPU的处理能力。其实,若%idle的值很小甚至为 0
时,则意味着 CPU的处理能力已经最大限度的使用而不能满足
用户对CPU处理能力的进一步要求了。此时应该考虑升级系统
的 CPU,若 CPU的空闲时间较多,那么升级 CPU对提高系统的
性能就没有太大的帮助。
6、结语
系统资源的分配和使用在一段时间内可能较为合理,一段
时间之后,因为多种因素系统或部分可能处于超负荷运行状态,
因此,必须监视、审计每一个环节中系统资源是否合理的使用和
分配,并进行必要的调整与优化。系统性能管理是一项长期的工
作,应将其作为日常系统管理工作的一部分,以保证系统稳定、
高效运行。文中介绍的工具与命令并非适用于所有的 UNIX变
体,但根本的原则与思路却是一致的。用户还可以使用第三方的
工具进行系统性能监视与调整。
参考文献:
1.董刚.核心参数灵运行效果活-兼论基于 UNIX的优化策略[J].华南金
融电脑,2005,(1):105-107
2.邱晓理,UNIX操作系统运行性能监控工具的应用[J].华南金融电脑,
2003,(12):45-47
3.边建军,胡晓辉.Solaris应用系统性能的优化[J].信息技术与信息化,
2004,(6):57-59
4.vmstat的应用详解 [OL].ChinaUnix精华文章.2007-07-29.Available:
http://bbs.chinaunix.net/viewthread.php?tid=882302
164