常见用法:
- netstat –npl 可以查看你要打开的端口是否已经打开。
- netstat –rn 打印路由表信息。
- netstat –in 供给体系上的接口信息,打印每个接口的MTU,输入分组数,输入缺点,输出分组数,输掉足误,冲突以及当前的输出队列的长度。
本文档主如果结合Linux 年沂录,Netflix 高等机能架构师 Brendan Gregg 更新 Linux 机能调优对象的博文,汇集Linux体系机能优化相干文┞仿整顿后的一篇综合性文┞仿,主如果结合博文对涉及到的道理和机能测试的对象展开解释。
背景常识:具备背景常识是分析机能问题时须要懂得的。比如硬件 cache;再比如操作体系内核。应用法度榜样的行动细节往往是和这些器械互相牵扯的,这些底层的器械会以意想不到的方法影响应用法度榜样的机能,比如某些法度榜样无法充分应用 cache,大年夜而导致机能降低。比如不须要地调用过多的体系调用,造成频繁的内核 / 用户切换等。这里只是为本文的后续内容做一些铺垫,关于调优还有很多器械,我所不知道的比知道的要多的多,欲望大年夜家能合营进修进步。
起首来看一张图:
上图是Brendan Gregg 的一次机能分析的分享,这琅绫擎的所有对象都可以经由过程man来获得它的赞助文档,下问简单介绍介绍一下惯例的用法:
vmstat–虚拟内存统计
vmstat(VirtualMeomoryStatistics,虚拟内存统计) 是Linux中监控内存的常用对象,可对操作体系的虚拟内存、过程、CPU等的┞符体情况进行监督。
vmstat的惯例用法:vmstat interval times即每隔interval秒采样一次,共采样times次,如不雅省略times,则一向采集数据,直到用户手动停止为止。
简单举个例子:
可以应用ctrl+c停止vmstat采集数据。
第一行显示了体系自启动以来的平均值,第二行开端显示如今正在产生的情况,接下来的行会显示每5秒距离产生了什么,每一列的含义在头部,如下所示:
- procs:r这一列显示了若干过程在等待cpu,b列显示若干过程正在弗成中断的休眠(等待IO)。
- memory:swapd列显示了若干块被换出了磁盘(页面交换),剩下的列显示了若干块是余暇的(未被应用),若干块正在被用作缓冲区,以及若干正在被用作操作体系的缓存。
- swap:显示交换晃荡:每秒有若干块正在被换入(大年夜磁盘)和换出(稻磁逄)。
- io:显示了若干块大年夜块设备攫取(bi)和写出(bo),平日反竽暌钩了硬盘I/O。
- system:显示每秒中断(in)和高低文切换(cs)的数量。
- cpu:显示所有的cpu时光花费在各类操作的百分比,包含履行用户代码(非内核),履行体系代码(内核),余暇以及等待IO。
内存不足的表示:free memory急剧削减,收受接收buffer和cacher也无济于事,大年夜量应用交换分区(swpd),页面交换(swap)频繁,读写磁盘数量(io)增多,缺页中断(in)增多,高低文切换(cs)次数增多,等待IO的过程数(b)增多,大年夜量CPU时光用于等待IO(wa)
iostat–用于申报中心处理器统计信息
iostat用于申报中心处理器(CPU)统计信息和全部体系、适配器、tty 设备、磁盘和 CD-ROM 的输入/输出统计信息,默认显示了与vmstat雷同的cpu应用信息,应用以下敕令显示扩大的设备统计:
第一行显示的是自体系启动以来的平均值,然后显示增量的平均值,每个设备一行。
常见linux的磁盘IO指标的缩写习惯:rq是request,r是read,w是write,qu是queue,sz是size,a是verage,tm是time,svc是service。
- rrqm/s和wrqm/s:每秒归并的读和写请求,“归并的”意味着操作体系大年夜队列中拿出多个逻辑请求归并为一个请求到实际磁盘。
- r/s和w/s:每秒发送到设备的读和写请求数。
- rsec/s和wsec/s:每秒读和写的扇区数。
- avgrq –sz:请求的扇区数。
- avgqu –sz:在设备队列中等待的请求数。
- await:每个IO请求花费的时光。
- svctm:实际请求(办事)时光。
- %util:至少有一个活泼请求所占时光的百分比。
- uptime、top(htop)、mpstat、isstat、vmstat、free、ping、nicstat、dstat。
dstat–体系监控对象
dstat显示了cpu应用情况,磁盘io情况,收集发包情况和换页情况,输出是彩色的,可读性较强,相对于vmstat和iostat的输入加倍具体且较为直不雅。在应用时,直接输入敕令即可,当然也可以应用特定参数。
如下:dstat –cdlmnpsy
iotop–LINUX过程及时`控对象
iotop敕令是专门显示硬盘IO的敕令,界面风格类似top敕令,可以显示IO负载具体是由哪个过程产生的。是一个用来监毒磁逄I/O应用状况的top类对象,具有与top类似的UI,个中包含PID、用户、I/O、过程等相干信息。
可以以非交互的方法应用:iotop –bod interval,查看每个过程的I/O,可以应用pidstat,pidstat –d instat。
推荐阅读
应用深度进修技巧解决问题的过程中,最常见的┞废碍在于练习模型过程中所需的海量数据。须要如斯多的数据,原因在于机械在进修的过程中会在模型中碰到大年夜量参数。在面对某一范畴的具体>>>详细阅读
本文标题:Linux性能分析工具汇总合集
地址:http://www.17bianji.com/lsqh/35284.html
1/2 1