作家
登录

Linux下常用系统分析工具总结

作者: 来源: 2017-06-30 15:03:20 阅读 我要评论

对于法度榜样员来说,全部计算机体系由四个重要的模块构成,分别是:CPU,收集,磁盘,内存。在我们的法度榜样或者体系出现问题时,我们应当分别有必定先后次序的对这四块进行排查。而在Linux体系下,有很多高效的对象,可以赞助我们分析定位问题。本文对于Linux下常用的一些对象进行一些简单的介绍,赞助读者能对这些对象有一个初步的懂得。如不雅有纰谬的处所,迎接随时斧正交换。

(6)-e trace=set 只跟踪指定的体系调用。例如:-e trace=open,close,read,write表示只跟踪这四个体系调用。默惹9依υ?set=all

1.CPU

对于cpu我们重要介绍top,strace,perf,vmstat。

top敕令可以及时动态地查看体系的┞符体运行情况,是一个综合了多方信息监测体系机能和运行信息的实用对象。

Top常用的可选参数和其对应的含义如下:

perf是Linux的机能调优对象。perf对象的常用敕令包含top,record,report等。

在这里我们简单复习一下TCP三次握手和四次挥手的过程,便于下面解释netstat中tcp的各类状况。

(1)-c:显示完全的敕令;

(2)-d:屏幕刷新距离时光;

(3)-i<时光>:设置距离时光;

(4)读/写不恰当的内存栈空间

(4)-u<用户名>:指定用户名;

(5)-p<过程号>:指定过程;

(6)-n<次数>:轮回显示的次数。

top履行起来的效不雅如下:

前五行是体系整体的统计信息。第一行是义务队列信息,第二行和第三行动过程和CPU的信息,最后两行动内存信息。下面对一些比较重要的参数进行解释。

Load average:0.60,0.94,1.04。load average表示体系在以前1分钟5分钟15分钟的义务队列的平均长度。这个值袈浣大年夜就表示体系CPU越劳碌。

Cpu(s):5.0%us(用户空寄┞芳用的cpu百分百),3.9%sy(体系空寄┞芳用的cpu百分比),0.0%ni(用户过程空间内改变过优先级的用户占用的cpu百分比),90.9%id(余暇cpu的百分比),0.2%wa(等待输入输出cpu的百分比)。

Mem:817280k buffers(用作内核缓存的内存量)。

Swap:磁盘交换区容量。

1.2 strace

strace可以跟踪到一个过程产生的体系调用,包含参数、返回值、履行消费的时光。

strace的常用的选项以及选项对应的含义如下:

(1)-c 统计每一体系调用的所履行的时光,次数和掉足的次数等

然后我们经由过程 tcpdump -i eth1 'port 10014' -xxx抓取经由过程10014端口的所有的包。我们经由过程模仿接窥测试的办法给ActLogicSvr发一条请求。抓到的包结不雅如下:

(2)-f 跟踪由fork调用所产生的子过程

(3)-t 在输出中的每一行前加上时光信息

(4)-tt 在输出中的每一行前加上时光信息(奥妙级)

1.1 top

(5)-T 显示每一调用所耗的时光

(7)-e trace=file 只跟踪有关文件操作的体系调用

(8)-e trace=process 只跟踪有关过程控制的体系调用

(9)-e trace=network 跟踪与收集有关的所有体系调用

(10)-e strace=signal 跟踪所有与体系旌旗灯号有关的 体系调用

(11)-e trace=ipc 跟踪所有与过程通信有关的体系调用

(12)-o filename 将strace的输出写入文件filename -p pid 跟踪指定的过程pid

例如履行 strace cat /dev/null,会获得如下输出:

每一行都是一条体系调用,等号左边是体系调用的函数名及其参数,右边是该调用的返回值。如不雅你知道你要找的是什么,你可以让strace只跟踪一些类型的体系调用。例如你须要看看在loadconfigure脚本琅绫擎履行的法度榜样琅绫擎体系调用ececve的调用情况,则只须要输入如许一条shell敕令:strace -f -o loadconfigure-strace.txt -e execve ./loadconfigure

再例如,我们知道ActLogicSvr的过程号是16789,则可以履行strace -p 16789 -c来统计ActLogicSvr在某一段时光体系调用的统计情况。结不雅如下所示:

这里很清跋扈的告诉你调用了那些体系函数,调用次数若干,消费了若干时光等等这些信息,这个对我们分析一个法度榜样来说是异常有效的。

1.3 Perf

perf top敕令用来显示法度榜样运行的┞符体状况。该敕令重要用来不雅察全部体系当前的状况,比如可以经由过程查看该敕令的输出来查看当前体系最耗时的内核函数或某个用户过程。Perf stat的运行效不雅如下:

perf record敕令则用来记录指定事宜在法度榜样运行过程中的信息,而Perf report敕令则用来申报基于前面record敕令记录的事宜信息生成的法度榜样运行状况申报。我们平日用敕令perf record -g -p pid将过程在敕令运行时代的各项指令运行所占CPU的比例存在perf.data琅绫擎(-g表示记录函数之间的调用关系)。再用perf report --call-graph --stdio将方才的统计结不雅展示出来。

(5)-track-fds=no|yes 跟踪打开的文件描述

perf record不带-g选项时,perf report的运行效不雅:

 1/4    1 2 3 4 下一页 尾页

  推荐阅读

  李雪:今目标与企业共同成长

【51CTO.com原创稿件】跟着企业对协同办公请求的进步,协同办公的定义也晋升到了智能化办公典范畴。大年夜多企>>>详细阅读


本文标题:Linux下常用系统分析工具总结

地址:http://www.17bianji.com/lsqh/35979.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)