Linux性能分析工具与Linux调优相关命令汇总.docx

上传人:王** 文档编号:1009121 上传时间:2024-03-15 格式:DOCX 页数:21 大小:321.02KB
下载 相关 举报
Linux性能分析工具与Linux调优相关命令汇总.docx_第1页
第1页 / 共21页
Linux性能分析工具与Linux调优相关命令汇总.docx_第2页
第2页 / 共21页
Linux性能分析工具与Linux调优相关命令汇总.docx_第3页
第3页 / 共21页
Linux性能分析工具与Linux调优相关命令汇总.docx_第4页
第4页 / 共21页
Linux性能分析工具与Linux调优相关命令汇总.docx_第5页
第5页 / 共21页
Linux性能分析工具与Linux调优相关命令汇总.docx_第6页
第6页 / 共21页
Linux性能分析工具与Linux调优相关命令汇总.docx_第7页
第7页 / 共21页
Linux性能分析工具与Linux调优相关命令汇总.docx_第8页
第8页 / 共21页
Linux性能分析工具与Linux调优相关命令汇总.docx_第9页
第9页 / 共21页
Linux性能分析工具与Linux调优相关命令汇总.docx_第10页
第10页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《Linux性能分析工具与Linux调优相关命令汇总.docx》由会员分享,可在线阅读,更多相关《Linux性能分析工具与Linux调优相关命令汇总.docx(21页珍藏版)》请在优知文库上搜索。

1、Linux性能分析工具与Linux调优相关命令汇总出于对LinUX操作系统的兴趣,以及对底层知识的强烈欲望,因此整理了这篇文章。本文也可以作为检验基础知识的指标,另外文章涵盖了一个系统的方方面面。如果没有完善的计算机系统知识,网络知识和操作系统知识,文档中的工具,是不可能完全掌握的,另外对系统性能分析和优化是一个长期的系列。本文档主要是结合Linux大牛,Netflix高级性能架构师BrendanGregg更新Linux性能调优工具的博文,搜集Linux系统性能优化相关文章整理后的一篇综合性文章,主要是结合博文对涉及到的原理和性能测试的工具展开说明。背景知识:具备背景知识是分析性能问题时需要了

2、解的。比如硬件CaChe;再比如操作系统内核。应用程序的行为细节往往是和这些东西互相牵扯的,这些底层的东西会以意想不到的方式影响应用程序的性能,比如某些程序无法充分利用CaChe,从而导致性能下降。比如不必要地调用过多的系统调用,造成频繁的内核/用户切换等。性能分析工具首先来看一张图:AnalysisandToolsOperating System nets tatHardwareVFSt3.ZFSTCP/UDPSchedulerSocketsApplicationsDBs, all server types.erf top pidstat mpstat dstatSystem Librari

3、eSystem Call InterfaceLVMIPCPUDRAM IBlock Device InterfaceEthernetiostatDevic Driversslabtop dstatVirtual MMemory *I/O Bridge tcpdump ip nicstat dtraceperfI/O ControllerNetwork Controllerblktrace dtraceI Port I I Port PingJVarious:sar/proc上图是BrendanGregg的一次性能分析的分享,这里面的所有工具都可以通过man来获得它的帮助文档,下面简单介绍介绍一

4、下常规的用法:VmStat-虚拟内存统计vmstat(VirtualMeomoryStatistics,虚拟内存统计)是LinUX中监控内存的常用工具,可对操作系统的虚拟内存、进餐CPU等内整体情况进勺监视。vmstat的常规用法:Vmstatintervaltimes即每隔interval秒采样一次,共采样times次,如果省略times,则一直采集数据,直到用户手动停止为止。简单举个例子:$vmstat5procsmemory-swap-io-system-cpu-rbswpdfreebuffcachesisobiboincsussyidWa002632257282317674024400

5、527521113101863002632278823i873824800243O2226620970可以使用ctrl+c停止vmstat采集数据。第一行显示了系统自启动以来的平均值,第二行开始显示现在正在发生的情况,接下来的行会显示每5秒间隔发生了什么,每一列的含义在头部,如下所示:procs:!这一列显示了多少进程在等待cpu,b列显示多少进程正在不可中断的休眠(等待10)。memory:SWaPd列显示了多少块被换出了磁盘(页面交换),剩下的列显示了多少块是空闲的(未被使用),多少块正在被用作缓冲区,以及多少正在被用作操作系统的缓存。swap:显示交换活动:每秒有多少块正在被换入(从磁盘

6、)和换出(到磁盘)。SyStem:显示每秒中断(in)和上下文切换(CS)的数量。cpu:显示所有的CPU时间花费在各类操作的百分比,包括执行用户代码(非内核),执行系统代码(内核),空闲以及等待10。内存不足的表现:freememory急剧减少,回收buffer和CaChe也无济于事,大量使用交换分区(SWPd),页面交换(SWaP)频繁,读写磁盘数量(io)增多,缺页中断(in)增多,上下文切换(cs)次数增多,等待IO的进程数(b)增多,大量CPU时间用于等待IO(wa)iostat-用于报告中央处理器统计信息iostat用于报告中央处理器(CPU)统计信息和整个系统、适配器、tty设备

7、、磁盘和CD-ROM的输入/输出统计信息,默认显示了与vmstat相同的cpu使用信息,使用以下命令显示扩展的设备统计:$Iostat-dx5Device:rrqm/swrqm/sr/sw/srsec/swsec/savgrq-szavgqu-szawaitsvctm%utilsda1.62.82.51.8138.836.940.70.123.26.02.6第一行显示的是自系统启动以来的平均值,然后显示增量的平均值,每个设备一行。常见IinUX的磁盘IO指标的缩写习惯:rq是request,r是read,W是write,qu是queue,SZ是size,average,tm是time,svcs

8、erviceoITqrnyS和Wrqm/s:每秒合并的读和写请求,“合并的”意味着操作系统从队列中拿出多个逻辑请求合并为一个请求到实际磁盘。r/s和w/s:每秒发送到设备的读和写请求数。rsec/s和wsec/s:每秒读和写的扇区数。avgrq-sz:请求的扇区数。avgqu-sz:在设备队列中等待的请求数。await:每个IO请求花费的时间。svctm:实际请求(服务)时间。%util:至少有一个活跃请求所占时间的百分比。dstat-系统监控工具dstat显示了CPU使用情况,磁盘io情况,网络发包情况和换页情况,输出是彩色的,可读性较强,相对于VmStat和iostat的输入更加详细且较为

9、直观。在使用时,直接输入命令即可,当然也可以使用特定参数。如下:dstat-cdlmnpsyiotop-LINUX进程实时监控工具iot。P命令是专门显示硬盘IO的命令,界面风格类似t。P命令,可以显示IO负载具体是由哪个进程产生的。是一个用来监视磁盘I/O使用状况的top类工具,具有与top相似的UI,其中包括PID、用户、I/O、进程等相关信息。可以以非交互的方式使用:iotop-bodinterval查看每个进程的I/O,可以使用pidstat,pidstat-dinstatPidStat-监控系统资源情况Pidstat主要用于监控全部或指定进程占用系统资源的情况,如CPU,内存、设备I

10、。、任务切换、线程等。使用方法:pidstat-dintervalpidstat还可以用以统计CPU使用信息:pidstat-uinterval统计内存信息:pidstat-rintervaltoptop命令的汇总区域显示了五个方面的系统性能信息:负载:时间,登陆用户数,系统平均负载;进程:运行,睡眠,停止,僵尸;印u:用户态,核心态,NICE,空闲,等待IO,中断等;内存:总量,已用,空闲(系统角度),缓冲,缓存;交换分区:总量,已用,空闲任务区域默认显示:进程ID,有效用户,进程优先级,NICE值,进程使用的虚拟内存,物理内存和共享内存,进程状态,CPU占用率,内存占用率,累计CPU时间,

11、进程命令行信息。htophtop是Linux系统中的一个互动的进程查看器,一个文本模式的应用程序(在控制台晟者X终端中),需要ncursesoIPioUSERPRINICPU*MEwCameM103100.00.0/SbtVlouncndS90.0.1*-/SystemZLtbrory/Frmework9.0.1*-usrsbin/ocspd520.09.0-login-fpktovacs529.90.0I.一-zshe9.90.0-/SysteBZLibroryZPrivoteFre9e.e.1*-SysteLtbrory/PrtvoteFr0*0.00.0,-ZApplIcatlonsZT

12、rueCrypt.a09.00.0-/Appltcottofts/TrueCrypt.o,e.e9.9,-/ApplicotIonsZTrueCrypt.o52.e9.6,-/SystemZLtbrory/Fromework090.0.e-usrsMnrocoonMexIIIIIIIHI279V34eMBS*pMBicm2UTasks:89total,runningLoadoverage:.15,250.32Uptime:5days,13:44:19Mefn:WMUSed:279IMbuffers:FiS3EHF23BEBF3OQS!f4113SS9fsflESF6SSE39ft7SQ3Bf3

13、!EHtop可让用户交互式操作,支持颜色主题,可横向或纵向滚动浏览进程列表,并支持鼠标操作。与top相比,htop有以下优点:可以横向或者纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行。在启动上,比top更快。杀进程时不需要输入进程号。htop支持鼠标操作。Mpstatmpstat是MultiprocessorStatistics的缩写,是实时系统监控工具。其报告CPU的一些统计信息,这些信息存放在procstat文件中。在多CPUS系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。常见用法:mpstat-PALLintervaltimesnetstatnet

14、stat用于显示与IP、TCP、UDP和ICMP协议相关的统计数据,一般用于检验本机各端口的网络连接情况。常见用法:netstat-npl#可以查看你要打开的端口是否已经打开。netstatTn#打印路由表信息。netstat-in#提供系统上的接口信息,打印每个接口的MTU,输入分组数,输入错误,输出分组数,输出错误,冲突以及当前的输出队列的长度。ps-显示当前进程的状态PS参数太多,具体使用方法可以参考manps常用的方法:psaux#hsserverps-efgrep#hundsun杀掉某一程序的方法:psauxgrepmysqldgrep-vgrepawktprintS2),xargskill-9杀掉僵尸进程:PSYalIaWkYiH$2=Z)print$4,xargskill-9strace跟踪程序执行过程中产生的系统调用及接收到的信号,帮助分析程序或命令执行中遇到的异常情况。举例:查看mysqld在Iinux上加载哪种配置文件,可以通过运行下面的命令:strace-estat64mysqld-print-defaultsdevnulluptime能够打印系统总共运行了多长时间和系统的平均负载,uptime命令最后输出的三个数字的含

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > linux/Unix相关

copyright@ 2008-2023 yzwku网站版权所有

经营许可证编号:宁ICP备2022001189号-2

本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!