十三个性能监测工具_第1页
十三个性能监测工具_第2页
十三个性能监测工具_第3页
十三个性能监测工具_第4页
十三个性能监测工具_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1、十三个强大的Linux性能监测工具(1)2010-05-2414:43佚名字号:T|T收藏13本文介绍了十三个常见的Linux性能监测工具,可以检测系统负载、硬件系统信息、进程状态、内存使用情况等一系列参数。针对每个工具,文章介绍了该工具的功能、使用方法以及输出样式,参考起来十分方便。AD:2013云计算架构师峰会课程资料下载Linux系统下,大多数的性能监测工具保存在/proc目录下。这里我们将LinuxAS和SUSELINUXEnterpriseServer中的命令行及图形方式下的性能监测工具做概括性介绍。这些工具有些在系统工具盘里,有些可以从网上下载。sar,iostat,和pstat这

2、三个工具在distributionCD里,也可以从网上下载,网址是http:/perso.wanadoo.fr/sebastien.godard/。51CT0推荐:Linux监控工具的展览馆表-Linux性能监测工具ToolMostusefultoolfunctionuptimeAveragesystemloaddmesgHardware/systeminformationtapProcessoractivityiostatAverageCPUload,diskactivityvmstatSystemactivitysarCollectandreportsystemactivityKDESys

3、temGuardRealtimesystemsreportingandgraphingfreeMemoryusagetraffic-visNetworkmonitoring(SUSELINUXEnterpriseServeronly)pmapProcessmemoryusagestraceProgramsulimitSystemlimitsmpstatMultiprocessorusage这些工具提供了IBMDirectorCapacityManager之外的一些功能,能够在某个时间段内对系统性能进行监测。IBMDirector适用于多种操作系统平台,从而使得异构环境下数据的收集和分析更容易。

4、下面分三部分逐个介绍每个命令。1、uptimeuptime命令用于查看服务器运行了多长时间以及有多少个用户登录,快速获知服务器的负荷情况。uptime的输出包含一项内容是loadaverage,显示了最近1-,5-,15分钟的负荷情况。它的值代表等待CPU处理的进程数,如果CPU没有时间处理这些进程,loadaverage值会升高;反之则会降低。loadaverage的最佳值是1,说明每个进程都可以马上处理并且没有CPUcycles被丢失。对于单CPU的机器,1或者2是可以接受的值;对于多路CPU的机器,loadaverage值可能在8到10之间。也可以使用uptime命令来判断网络性能。例如

5、,某个网络应用性能很低,通过运行uptime查看服务器的负荷是否很高,如果不是,那么问题应该是网络方面造成的。下边是uptime的输出样式1:57amup4days17:0512userstloadaverage:0.00T0.00t0.002、dmesgdmesg命令主要用来显示内核信息。使用dmesg可以有效诊断机器硬件故障或者添加硬件出现的问题。另外,使用dmesg可以确定您的服务器安装了那些硬件。每次系统重启,系统都会检查所有硬件并将信息记录下来。执行/bin/dmesg命令可以查看该记录。下边是dmesg的输出样式EXT3FS2.4-0.9.19t19August2002on,Int

6、ernaljournalEXTS-f$:mountedfl1esystemwithordereddatamode.IA-32MlcrocodeUpdateDriver:v1.11ip_Ubles:(C)2000-2002Netfi1tercoreteam3c59x:DonaldBeckerandothers.scyld.cDm/network/vDrtex.htmlSeeDocumentation/networking/vortex.txt01:02.0:SConiIPCI3c980CPython-Tat0 x2080.VersLK1.1.16-ac00:01:02:75:99:60,IRQ1

7、5productcode4550rev00.14date07-23-00Internalconfigregister1s38000001transceiversOxa.8Kbyte-wideRAM5:3Rx:T兀splithautoselect/Autonegotiateinterface.Miltransceiverfoundataddress24tstatus762cl.Enablingbus-mastertransmitsandwhole-framereceives.01:02.0:scatter/gatherenabled,h/wchecksumsenableddivert:al1oc

8、atlngdivert_blkforetho1p_tables:(C)2000-2002NetflItercoreteamIntelR)PRO/lOONetrkDriver-version2.S.30-klCopyrlght(c)2003IntelCorporationdivert:al1ocatlngdivert_blkforeth1elOO:selftestOK.elOO:ethl:Intel(R)PRO/lOONetworkConnectionHardwarereceivechecksumsenabledcpucyclesaverenabledIde-floppydriver0.99.n

9、ewidehda:attachedide-cdnomdriver.hda:ATARI46XCD-ROMdrive,120kBCache,(U)DMAUniformCD-ROMdriverRevislon:S.12Attachedscslgenericsg4atscsl11匚hannel0tIdSt1un0.type33、toptop命令显示处理器的活动状况。缺省情况下,显示占用CPU最多的任务,并且每隔5秒钟做一次刷新。3.1ProcesspriorityandnicelevelsProcesspriority的数值决定了CPU处理进程的顺序。LIUNX内核会根据需要调整该数值的大小。nice

10、value局限于priority。priority的值不能低于nicevalue(nicevalue值越低,优先级越高)。您不可以直接修改Processpriority的值,但是可以通过调整nicelevel值来间接地改变Processpriority值,然而这一方法并不是所有时候都可用。如果某个进程运行异常的慢,可以通过降低nicelevel为该进程分配更多的CPU。Linux支持的nicelevels由19(优先级低)到-20(优先级高),缺省值为0。执行/bin/ps命令可以查看到当前进程的情况。4、iostatiostat由RedHatEnterpriseLinuxAS发布。同时ios

11、tat也是Sysstat的一部分,可以下载到,网址是http:/perso.wanadoo.fr/sebastien.godard/执行iostat命令可以从系统启动之后的CPU平均时间,类似于uptime。除此之外,iostat还对创建一个服务器磁盘子系统的活动报告。该报告包含两部分:CPU使用情况和磁盘使用情况。下边是iostat的输出样式Linux2.4.21-9.0.3.ELx232)05/11/2004avg-cpu:%usern1cesys思idle0,030.000.0299.95Device:tpsBlk_read/sBlk_wrtn/sBlk_readBlk_wrtndev2

12、-00.000.00D.042032860dev6-00.452.132.21166464168268dev8-l0.000.000.00160dev8-20.000.000.0080dev8-30.000.00D.OD0CPU占用情况包括四块内容%user:显示userlevel(applications)时,CPU的占用情况。%nice:显示userlevel在nicepriority时,CPU的占用情况。%sys:显示systemlevel(kernel)时,CPU的占用情况。%idle:显示CPU空闲时间所占比例。磁盘使用报告分成以下几个部分:Device:块设备的名字tps:该设备每

13、秒I/O传输的次数。多个I/O请求可以组合为一个,每个I/O请求传输的字节数不同,因此可以将多个I/O请求合并为一个。Blk_read/s,Blk_wrtn/s:表示从该设备每秒读写的数据块数量。块的大小可以不同,如1024,2048或4048字节,这取决于partition的大小。例如,执行下列命令获得设备/dev/sda1的数据块大小:dumpe2fs-h/dev/sda1|grep-FBlocksize输出结果如下dumpe2fs1.34(25-Jul-2003)Blocksize:1024Blk_read,Blk_wrtn:指示自从系统启动之后数据块读/写的合计数。5、vmstatvm

14、stat提供了processes,memory,paging,blockI/O,traps和CPU的活动状况.下边是vmstat的输出样式procsmemory-swap-io-system-cpurbswpdfreebuffcachesisobiboinC5ussyidwa20015480477328910900004610319001000各输出列的含义:Processr:等待runtime的进程数b:在不可打断的休眠状态下的进程数Memory-swpd:虚拟内存使用量(KB)-free:闲置内存使用量(KB)-buff:被当做buffer使用的内存量(KB)Swapsi:swap到磁盘的

15、内存量(KBps)so:从磁盘swap出去的内存量(KBps)IObi:Blockssenttoablockdevice(blocks/s).bo:Blocksreceivedfromablockdevice(blocks/s).Systemin:Thenumberofinterruptspersecond,includingtheclock.cs:Thenumberofcontextswitchespersecond.CPU(thesearepercentagesoftotalCPUtime)-us:Timespentrunningnon-kernelcode(usertime,includ

16、ingnicetime).sy:Timespentrunningkernelcode(systemtime).id:Timespentidle.PriortoLinux2.5.41,thisincludedIO-waittime.wa:Timespentwaitingfor10.PriortoLinux2.5.41,thisappearedaszero.6sarsar是RedHatEnterpriseLinuxAS发行的一个工具,同时也是Sysstat工具集的命令之一,可以从以下网址下载: HYPERLINK http:/perso.wanadoo.fr/sebastien.godard/ h

17、ttp:/perso.wanadoo.fr/sebastien.godard/sar用于收集、报告或者保存系统活动信息。sar由三个应用组成:sar显示数据、sar1和sar2用于收集和保存数据。使用sar1和sar2,系统能够配置成自动抓取信息和日志,以备分析使用。配置举例:在/etc/crontab中添加如下几行内容Example14-6Exampleofstartingautomaticfogreporting谊庶cron#8am-7pmactivltyreportsevery10minutesdurlngweekdays.*/108-18*1-5/usr/11b/sa/sal6DO6&

18、才7p(n-6amactivityreportseveryanhourdurlngweekdays.019-7*1-5/usr/11b/sa/sal&?A匚tivityreportseveryanhouronSaturdayandSunday.0*/usr/11b/sa/sal&才Dai1ysummarypreparedat19:05519*/usr/1ib/sa/sa2-A吐同样的,你也可以在命令行方式下使用sar运行实时报告。如图所示:从收集的信息中,可以得到详细的CPU使用情况(%user,%nice,%system,%idle)、内存页面调度、网络I/O、进程活动、块设备活动、以及in

19、terrupts/secondExample14-7AdhocCPUmonitoringroot0 x232root#sar-u310Linux2.4.21-9.0.3.ELx232)05/22/200402:10:40PMCPU罐usernicesystem1dle02:10:43PMall0.000.000.00100.0002:10:46PMall0.330.000,0099.6702:10:49PMall0.000.000,00100.0002:10:52PMall7.140.0016.5774.2902:10:55PMall71.430.0026.570.0002:10:58PMal

20、l0.000.00100.000.0002:11:01PMall0.000.000,000.0002:11:04PMall0.000.00100.000.0002:11:07PMall50.000.0050.000.0002:11:10PMall0.000.00100.000.00Average:all1.620.00q%95.067KDESystemGuardKDESystemGuard(KSysguard)指KDE任务管理和性能监视。监视本地及远程客户端/服务器架构体系的中的主机。如图14-1Figure14-1DefaultKDESystemGuardwindowensrirBrowse

21、r-9.42.1?|H-CPUO+DiskThroughput+-Load=E-logfilesI宙mm+-Network+FdrtitbnUsage严鶴Cess匚ontroller80604020I如图所示,使用传感器获取显示的信息。传感器可以返回简单的数值或者复杂的表格信息。对于每一种类型的信息,提供了一个或者更多显示。并以工作表的形式独立保存。每个传感器监视一个部件。所有显示的传感器均可以用鼠标拖拽。有三个选择1可以删除和替换某个传感器2可以编辑修改行数和列数3可以建立新的工作表并选择所需的传感器如图142Figure14-2KDESysfemGuardsensorbrowser7.1W

22、orkspace如图142所示,有两个tabs:SystemLoad和ProcessTableSystemLoad该工作表中有四个传感器视窗:CPULoad,LoadAverage(1Minute),PhysicalMemory,和SwapMemory.从PhysicalMemorywindow可以看到,同一个window中可以显示多个传感器。在图上移动鼠标,根据所出现的描述信息可以知道哪个传感器正被监视。也可以点鼠标右键该图并选择PropertiesSensors,如图14-3所示。StvleEFID&0140000000叵KillpTiteSignalPlotterSettingsProc

23、essTablemodiFied-KDESystemGuardProcessTable图144Ryfit5II-|n|x|SensorBrowserSystemLoadProcessTable-l)lacalh口sit申匸尸UO-i-DiskThroughput-i-Load+-bgfile3+-Memory-i-Network+-PartitionU:o.gc0.000.00208021220.000.000.000.00-daemanize丄烽JavaFileEdrtSettings旦elpPro匚essContbdflushProcessCourcimser/er匚rond2260220

24、1223023200.000.000.000.000.000.000.000.00NameUsei%Sysfe227S0.000.000.000.000.000.000.000.00NiceJa(x|SensorsAppFigure14-3Sensor加formation,PhysicalMemorySignalPlotterMemoiy/PhysicalMemary/CachedMerrolyKBOKhcalhostMemory/PhvsicalMemary/EufferedMemoiybcalhoEtHostSensorUnitStatue:1tc:aJho3t|Meinory/Physi

25、zalMeinary/Applizd.lbnMemoryKBOKiFigure14-4ProcessTableviewMb養匚门蝌rf点击ProcessTable显示所有执行的进程。缺省情况下,按照SystemCPUutilization排序,也可以简单地通过鼠标点击相应项改变排序的方式。定制一个worksheet指导定制创建一个如图14-7所示的worksheet选择File-New,如图14-5務.WorkSheetProperties-InlxirTitleRedPaperRowsColumnsUpdateintervalsPSec.OKCancelFigure14-5Propertie

26、sfornewworksheet输入标题以及行列数;即最多的监视窗口数,这里为四个。如图14-6-|n|x|霸RedPapermodified-KDESystemGuardFileEditSettingsHelpSensorBrowser-SJlocalhost申.s-.El.CPUODiskThroughputLoad甲.sS:LMemoryE-NetworkPartiiionUsageProcessControlItProcessCountlogfilesFigure14-6Emptyworksh胡注:最短2秒更新间隔现在只需简单将传感器从左恻拖拽到右恻的窗口中。显示可选项为-Signal

27、Plotter.显示一个或者多个传感器,如果有多个,则分层显示。如果显示屏足够大,以网格方式显示。缺省情况下,为自动排列方式,最大和最小值自动设置。如果要修改最大最小值,首先要关闭自动排列方式。-Multimeter.以数字方式显示传感器的值。在属性对话框中,可以改变上限和下限。超过限制时,显示警告色。BarGraph.将传感器的值显示为dancingbars.同Multimeter样,在属性对话框中,可以改变上限和下限。超过限制时,显示警告色。SensorLogger:SensorLogger不显示任何值,而是将上述信息记录到某个文件中,并加入日期和时间。对每个传感器,你必须定义一个日志文件

28、、记录日志的时间间隔、以及是否报警。点File-Save,保存worksheet.Figure14-7Exampleworksheet如需获取更多KDESystemGuard信息,访问: HYPERLINK /en/3.2/kdebase/ksysgaurd /en/3.2/kdebase/ksysgaurd注:worksheet被保存在用户目录中,其他管理员可能无法访问。free/bin/free命令显示所有空闲的和使用的内存数量,包括swap。同时也包含内核使用的缓存。Example14-&Exampleoutputfromthefreecommandtotalusedfreeshared

29、bufferscachedMem:1291980998940293040069356772016-/+buffers/cache:1375681154412Swap:204024402040244Traffic-visTraffic-vis是一套测定哪些主机在IP网进行通信、通信的目标主机以及传输的数据量。并输出纯文本、HTML或者GIF格式的报告。注:Traffic-vis仅仅适用于SUSELINUXENTERPRISESERVER。如下命令用来收集网口ethO的信息:traffic-collector-ieth0-s/root/output_traffic-collector可以使用kil

30、lall命令来控制该进程。如果要将报告写入磁盘,可使用如下命令:killall-SIGUSR1traffic-collector要停止对信息的收集,执行如下命令:killall-SIGTERMtraffic-collector注意,不要忘记执行最后一条命令,否则会因为内存占用而影响性能。可以根据packets,bytes,TCP连接数对输出进行排序,根据每项的总数或者收/发的数量进行。例如根据主机上packets的收/发数量排序,执行命令:traffic-sort-ioutput_traffic-collector-ooutput_traffic-sort-Hp如要生成HTML格式的报告,显示

31、传输的字节数,packets的记录、全部TCP连接请求和网络中每台服务器的信息,请运行命令:traffic-tohtml-ioutput_traffic-sort-ooutput_traffic-tohtml.html可以通过浏览器方式查看报告的内容,如图14-8traffic-visreport-MicrosoFtInternetExplorer-JnixFileEditViewFavorfcesTodsHelp圃韻-SearchFavorites:-裁Media器:詁”BT3LinksCustomizeLinksFreeHotmalBusnessTransformationInternal

32、HelpaddresscADacumantsandSel:l:ingsluciano!De5k:op5Ll5E24ouipul:traFfic-l:oltml.ltmltraffic-visreport樹DoneCollectionstartedatThu,13May200403:27:32POTCollectionconcludedatThu,13May200408:41:06PDTSourcehostDestinationhostBytessentPacketssentUnknownUnknown5265041616(9.42171197)(9.42.171111)UnKnownUnkno

33、wn45352103斗(11)(97)UnknownUnknown4?1A1447PUnknown(97)ComputerNumberofactivehosts:105Totalbytestransferred:67615-.777Totalpacketsrecorded:7075966TotalTCPconnectionrequests:707650Figure14-8Reportgeneratedbytraffic-vis如要生成GIF格式(600X600)的报告,请运行命令:traffic-togif-ioutput_traffic-sort-ooutput_traffic-togif.

34、gif-x600-y600图14-9显示了网络中主机之间通信的情况。GIF格式的报告可以方便地发现网络广播,查看哪台主机在TCP网络中使用IPX/SPX协议并隔离网络,需要记住的是,IPX是基于广播包的协议。如果我们需要查明例如网卡故障或重复IP的问题,需要使用特殊的工具。例如SUSELINUXEnterpriseServer自带的Ethereal。ff/ff7IU掛藝爭邑匸直善zz/-t:O二E耳刖ctcsj.-.s.77m.i.:s-77%&-sW.Figure14-9诳潮W囲5刘i.少里二s?f亶UWO4J芒二7二twpcn八-今,Reportgeneratebytraffic-vis技

35、巧和提示:使用管道,可以只需执行一条命令来产生报告。如生成HTML的报告,执行命令:catoutput_traffic-collector|traffic-sort-Hp|traffic-tohtml-ooutput_traffic-tohtml.html如要生成GIF文件,执行命令:catoutput_traffic-collector|traffic-sort-Hp|traffic-togif-ooutput_traffic-togif.gif-x600-y600pmappmap可以报告某个或多个进程的内存使用情况。使用pmap判断主机中哪个进程因占用过多内存导致内存瓶颈。图14-9显示了

36、SUSELINUXEnterpriseServer下pmap命令执行结果Example14-11Outputofsfracemonitoringhttpdprocess,forexamplepmapxpidExample14-9lota!amain!ofmemoryciipsdprocessisusing(SUSELINUXEnterpriseSerfer)1inux:1#pinap-x1761796:/usr/sbln/cupsdAddressKbytesRSSAnonLockedModeMapping08048000244-r-x-cupsdffffeOOO4-anontotalkB636

37、4图14-10显示了smbd进程所占用的内存pmapExampfe14-10Tbtafamountofmemorysmbdprocessisusingrootx232root#pinap&359smbd8359b723c000(1224KB)b73&e000(16KB)mapped:9808KBr-xp(08:021366219)/11b/tls/11bc-2.3.2.sorri-p(08:021366219)/11b/tls/11bc-2.3.2.sowritable/prlvate:1740KBshared:64KBstracestrace截取和记录系统进程调用,以及进程收到的信号。是一个

38、非常有效的检测、指导和调试工具。系统管理员可以通过该命令容易地解决程序问题。使用该命令需要指明进程的ID(PID),例如:strace-p图14-11showsanexampleoftheoutputofstrace.rootx232html#strace-p815Process815attached一interrupttoquitTOC o 1-5 h zsemop(360449,0 xb73146b8s1)-0poll(fd-4sevents-POLLINBfd-3Revents-POLLINsrevents-POLLIN2,-1)-1accept(3Bsa_family-AF_INETs

39、sin_port-htons(52534),sin_addr-inet_addr(971),16)-13-semop(360449,0 xb73146beP1)-0getsockname(13s5a_fami1yAF_INETfsin_port-htons(80)?sin_dddr-inet_addr(981),16)-0fcntl64(13sF_GETFL)-0 x2(flagsO_RDWR)fcntl64(13sFETFL.O_RDWR|O_NONBLOCK)-0read(13p0 x8259bc8r8000)-1EAGAIN(Resourcetemporarilyunavailable)

40、pollfd-13sevents-POLLIN,revents-POLLINpls300000)-1read(13sGET/index.htmlHTTP儿OZUs,8000)-91gettimeofday(10845641261750439MNULL)-0stat64(l7var/witf/html/index.htmlsst_mode-S_IFREE10644s5t_size-152s.)-0open(/var/w/html/index.htmlsO_RDONLY)-14nrnap2NULLs152,PROT_READSMAP_SHAREDs1450)-0 xb7052000witev(13

41、HnP/1.120)0KrnDate:Fris,14,264,nnRedPaper讯严,152,2)-416TOC o 1-5 h zmunmap(Oxb7052000r1S2)-0socket(PF_UNIXsSOCK_STREAMr0)-15connect(15R5a_famiTy-AF_UNIX?path-/var/run/.nscd_sockets110)-1ENOENT(Nosuchfileordirectory)close(lE)-0ulimitulimit内置在bashshell中,用来提供对shell和进程可用资源的控制使用选项-a列出可以设置的所有参数:ulimit-aBomp/ef4-12OutputofLtfimitroot0 x232html半ulimit-acorefl1esize(blocks,-c)0datasegsize(kbytes,-d)uni1mltedfi1esize(blocks,-f)unllnitedmax1ockedmemory(kbytest-1)4maxmemorysize(kbytes,-m)uni1mltedopenfl1es(-n)1024pipesize(512bytes

温馨提示

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

评论

0/150

提交评论