linux下使用性能分析工具nmon

| 收藏本文 下载本文 作者:佯死带活

以下是小编整理的linux下使用性能分析工具nmon(共含3篇),仅供参考,希望能够帮助到大家。同时,但愿您也能像本文投稿人“佯死带活”一样,积极向本站投稿分享好文章。

linux下使用性能分析工具nmon

篇1:linux下使用性能分析工具nmon

一 简介nmon 工具可以帮助在一个屏幕上显示所有重要的性能优化信息,并动态地对其进行更新,这个高效的工具可以工作于任何哑屏幕、telnet 会话、甚至拨号线路。另外,它并不会消耗大量的 CPU 周期,通常低于百分之二。在更新的计算机上,其 CPU 使用率将低于百分之一。使用哑屏幕,在屏幕上对数据进行显示,并且每隔两秒钟对其进行更新。然而,您可以很容易地将这个时间间隔更改为更长或更短的时间段。如果您拉伸窗口,并在X Windows、VNC、PuTTY 或类似的窗口中显示这些数据,nmon 工具可以同时输出大量的信息。nmon 工具还可以将相同的数据捕获到一个文本文件,便于以后对报告进行分析和绘制图形。输出文件采用电子表格的格式 (.csv)。nmon 工具可以为 AIX 和 Linux 性能专家提供监视和分析性能数据的功能,其中包括:

CPU 使用率

内存使用情况

内核统计信息和运行队列信息

磁盘 I/O 速度、传输和读/写比率

文件系统中的可用空间

磁盘适配器

网络 I/O 速度、传输和读/写比率

页面空间和页面速度

CPU 和 AIX 规范

消耗资源最多的进程

IBM HTTP Web 缓存

用户自定义的磁盘组

计算机详细信息和资源

异步 I/O,仅适用于 AIX

工作负载管理器 (WLM),仅适用于 AIX

IBM TotalStorage? Enterprise Storage Server? (ESS) 磁盘,仅适用于 AIX

网络文件系统 (NFS)

动态 LPAR (DLPAR) 更改,仅适用于面向 AIX 或 Linux 的 pSeries p5 和 OpenPower还包括一个用来从 nmon 的输出生成图形并创建可以在 Web 站点显示的 .gif 文件的新工具。

二 获取 sourceforge.jp/projects/sfnet_nmon/releases/ 或者直接从这获取,还包含分析工具

三 使用解压后,可以看到各个平台的文件,我们只需要使用适合的即可,一般是nmon_linux_x86_64。$ cp nmon_linux_x86_64 nmon$./nmon 首次使用会提示“./nmon: Permission denied”执行 chnod 777 ./nmon 即可成功后,会看到这样的界面上面显示了具体的用法,比如输入“n‘,就会显示网络I/O,‘d‘显示磁盘信息,‘m‘显示内存信息,等等;

四 其他选项一般我们用-s ,-c -f选项比较多,比如 $./nmon -s 1 -c 3600 -f输出频率为1秒1次,总共3600次,即1小时,文件名以_YYYYMMDD_HHMM.nmon的形式保存,如localhost_140625_1614.nmon生成文件后,转化成*.csv文件,便于分析工具进行分析,0 localhost_140625_1614.nmon > localhost_140625_1614.csv

五 生成报告 上面的工具包已经包含nmon analyser v33g.xls,打开点击 ‘选项’选炸ky”www.2cto.com/kf/web/php/“ target=”_blank“ class=”keylink“>PHP1Mq+tMvE2sjdo6zIu7rzteO79w==”analyse nmon data‘,找到对应的csv文件,便会生成xlsx文件,如localhost_140625_1614.xlsx,里面便是详细的报告。

六 nmon报告分析报告生成后,会生成各种数据以及详细的表格数据,包括网络,磁盘,CPU等等,详细参数以及说明请查看以NET选项为例,此报告是以一个轻量级的网络库进行的测试,使用epoll模型,10000个连接,每个连接以10 packet/sec的频率发送,每个包大小约100bytes,代码源自github.com/yuyunliuhen/tinynet 。监测分2段,第一段为连接的前一个小时直到全部连接成功;第二段为稳定运行12小时后的一小时。第一段:从17:11开始,随着连接数的增加,网络流量线性增长;17:26时,趋于平稳。因为是echo模型,所以读写基本一致,稳定后均值在10M/seky“www.2cto.com/kf/yidong/wp/” target=“_blank” class=“keylink”>WPX89PSoaMKtdq2/rbOo7oKPGltZyBzcmM9“www.2cto.com/uploadfile/Collfiles/1202/2014192353158.png” alt=“”>流量均值还是在10M/sec左右,读最大值50M/sec,写最大值38M/sec。对于1000Mb网卡来说,10M远低于1000Mb/8=125M,带宽流量不存在瓶颈。其他的性能数据图表与上类似,在此不一一列举了!参考:baike.baidu.com/link?url=UYp8YULTXT04CLEHGP0HsYFff_5k1m-lyDGLFgGi_UDWSxu53T9lpo8YL4Fo6iLnQ-1_olo-M3UfIVR1E4wLGa

篇2:用网络协议分析工具侦测网络故障(下)

本文我们继续通过科来网络分析专家的分析系统来帮助更好的解决和处理网络实际问题,通过其自身 的强大分析系统快速定位故障,在第一时间解决麻烦,

一,事半功倍监控MSN:

也许监控MSN聊天会侵犯员工隐私,但是在企业禁止聊天的情况下通过监控来管理来约束员工行为也是 未尝不可的。由于MSN在传输时没有加密,所以说通过科来分析专家监控到的信息会更加全面,不光是MSN 登录帐户可以清楚的获取就连MSN聊天内容也将一览无余。

第一步:打开科来分析专家,然后点“开始”按钮进行监控,如果内网中有MSN登录的话我们会在左侧 看到TCP协议下的MSN选项,同时右边会记录所有与MSN通讯有关的数据包具体情况,包括数据包大小数量 等,当然这些不是我们所关心的我们直接点右边窗口上方的“数据包”标签切换到具体内容。(如图1)

第二步:在“数据包”具体内容中我们一个个数据的查找,仔细查看会看到MSN在登录时发送与接收到 的信息,从中可以看到MSN帐户softer26@hotmail.com的踪影,这个就是我们监控到的信息。

第三步:当有人使用MSN聊天时我们通过分析数据包可以查看到其通讯对象,聊天对象。(如图2)

第四步:同时对于聊天内容我们也可以直接查看到明文信息,不过这都需要我们仔细分析数据包从中 过滤挑选有用信息。(如图3)

第五步:当然科来网络分析系统还为我们单独提供了一个MSN通讯组件,我们直接点右边区域上方的“ 日志”标签,在这里选择MSN通讯,这样我们就能够更加轻松更加直观的了解到当前MSN的登录情况以及通 讯内容聊天信息了。(如图4)

比起之前的数据分析法后面的MSN通讯组件发更容易上手也比较简单,但是我们应该尽可能的掌握数据 分析法,毕竟还有很多数据和网络应用科来分析系统并没有通过组件的形式提供给我们。必要时还是需要 我们一个个数据包进行分析的。

小提示:

不光是MSN在通讯时以明文传输,就是我们平时访问登录FTP时用户名与密码也会以明文的形式传输的 ,因此在科来网络分析系统监控下FTP的地址,用户名,密码也将没有任何隐藏的可能。由于分析方法类 似这里就不展开说明了。(如图5)

二,数据统计不求人快速导出帮你忙:

网络监控任务是艰巨的,很多时候我们都要面临很多数据包进行分析,如果依然一个个的查看一个个 的对比难免为我们这些网络管理员带来太多的工作,实际上科来网络分析系统为我们提供了数据统计的功 能,我们可以将监控到的数据包整理成TXT等格式的文档,然后通过搜索功能找到我们需要的数据。

第一步:当我们监听一段时间后要对监控到的数据包进行分析时会发现数据量非常大,一个个分析不 太现实,例如笔者针对页面进行分析扫描登录SOHU邮箱的信息。这时我们可以通过导出功能将数据保存为 TXT格式的文件,点右边窗口左上角的导出按钮,在导出文件窗口中选择导出格式,科来系统支持包括TXT ,CSC,HTML在内的多种格式,笔者还是最喜欢TXT格式。(如图6)

第二步:接下来是选择导出内容,我们可以根据实际选择要到处的列名称。(如图7)

第三步:数据包按照选择列一个个的导出成TXT格式的文档,方便我们统筹管理与备案分析。(如图8 )

第四步:之后我们直接通过TXT记事本文件的查找功能搜索sohu信息,我们就能够查到登录SOHU邮箱时 使用的帐户信息了,在GET地址处看到了userid为softer@sohu.com。(如图9)

第五步:不同的邮箱登录的触发地址都各不相同,例如笔者单位使用的DOMINO系统在邮箱登录时是通 过get /mail/ruanzheng.nsf地址来进入个人邮箱的,相应的用户名为ruanzheng。(如图10)

三,强大的统计与过滤功能:

科来分析系统有强大的统计与过滤功能,之前我用过的sniffer也具备这些功能,不过个人感觉科来分 析系统在操作上更灵活毕竟是中文界面而且很多地方设计更符合国情,

第一步:平时我们在监控时可以通过查看右边的“图表”标签来了解当前环境下网络利用率,错误包 的比例,广播组播包的比例等,这些图表对分析网络,测算网络是否有病毒或规划问题都是很有帮助的, 我们可以了解到当前总带宽大小是否超负荷运转。(如图11)

第二步:另外通过主界面上方的过滤按钮我们可以针对某一种协议进行监听,不符合该协议的数据包 将直接丢弃。可选择的协议可以自定义也可以直接使用默认的。(如图12)

第三步:例如笔者为了检测网络内ARP数据包来判断是否有ARP欺骗病毒,只需要将ARP协议添加到过滤 表中,然后确定即可,这样科来分析系统会对接收到的所有数据包进行分析,符合ARP协议的收集并显示 出来,不符合的直接丢弃。(如图13)

第四步:再次开始监控,我们会发现找到的数据包都是ARP协议的,这样可以更加方便的让我们根据实 际需要去监听网络协议。(如图14)

第五步:同时科来分析系统为我们提供了大量宝贵的报表,我们可以根据实际监听结果直接分析出流 量最大的前十IP等排行。(如图15)

第六步:日常我们这些网络管理员都会被ARP欺骗病毒所烦恼,科来分析系统特别对ARP数据包进行了 概要解析,我们可以直接从概要处看到每个数据包实际的功能,非常直观。(如图16)

第七步:同时利用“矩阵”功能也可以让我们了解到当前网络内各个IP地址与内外网各个终端设备的 通讯状况,这个IP矩阵或MAC地址矩阵可以让我们看出哪个地址流量最大,连接数最多,这些地址将成为 病毒携带者的最可能人选。(如图17)

四,用科来让网络中流氓软件现身:

常在河边走哪能不湿鞋,我们的操作系统中很容易被安装了流氓软件或恶意插件,这些软件不光占用 我们的系统资源还会侵犯我们宝贵的网络带宽,而我们同样可以利用科来分析系统让网络中的流氓软件现 身。

第一步:首先让我们要监听的网络各个主机不要有任何网络操作网络访问,将不必须的程序都关闭, 特别是网络程序和网络服务。

第二步:开启科来网络分析系统监听镜像端口,如果发现有数据包产生,那么马上分析数据包具体内 容,例如笔者就发现在没有任何操作的情况下网络中出现了有主机在和p3pping.sogou.com这个地址进行 通讯,因此怀疑这个主机上被安装了SOGOU恶意插件。(如图18)

第三步:同时笔者还发现有部分通讯的目的地址为pv.uitv.com,于是马上访问了这个站点,通过首页 介绍我们知道uitv.com对应的是联合网视网站,那么这个流量应该就是由于有计算机安装了其在线播放的 插件而产生的流量,这也应该归为一种恶意插件毕竟在不知不觉中产生了网络流量。(如图19)

五,附加小工具:

科来网络分析专家还为我们提供了几个非常有用的小工具,一个是科来MAC地址扫描器,通过他我们可 以在网络没有问题的时候建立MAC地址与IP地址的对应关系,这样就可以最大限度的防止ARP欺骗病毒的爆 发,即使造成影响也可以通过这个列表快速恢复。(如图20)

同时科来网络分析专家还提供了数据包生成器与数据包播放器,我们可以通过这两个工具来自己制造 网络数据包并通过导入功能重新发送之前保存的数据包,还可以修改已经保存过的数据包然后再发送出去 ,总之这个功能很好,对于网络管理员来说可以通过这两个工具辅助数据包,例如ARP还原数据包,告知 网络内各个机器真正的网关MAC地址是多少。(如图21)(如图22)

六,总结:

经过笔者几个月的测试科来网络分析专家的总体表现是非常不错的,从某种意义上讲他已经超过了 sniffer,额外功能使用得当也能够让网络管理员省不少事。总之有一个好的网络工具作为帮手,网络管 理也变得简单得多,以前很多问题不知从何下手,而今直接拿出该工具扫描即可轻松找到问题根源。当然 由于篇幅关系笔者也仅仅介绍了几个实际案例,更多的功能还需要感兴趣的读者自行挖掘。

篇3:Linux下的网络协议分析工具:TCPDUMP入门

TCPDUMP简介

在传统的网络分析和测试技术中,嗅探器(sniffer)是最常见,也是最重要的技术之一,sniffer工具首先是为网络管理员和网络程序员进行网络分析而设计的。对于网络管理人员来说,使用嗅探器可以随时掌握网络的实际情况,在网络性能急剧下降的时候,可以通过sniffer工具来分析原因,找出造成网络阻塞的来源。对于网络程序员来说,通过sniffer工具来调试程序。

用过windows平台上的sniffer工具(例如,netxray和sniffer pro软件)的朋友可能都知道,在共享式的局域网中,采用sniffer工具简直可以对网络中的所有流量一览无余!Sniffer工具实际上就是一个网络上的抓包工具,同时还可以对抓到的包进行分析。由于在共享式的网络中,信息包是会广播到网络中所有主机的网络接口,只不过在没有使用sniffer工具之前,主机的网络设备会判断该信息包是否应该接收,这样它就会抛弃不应该接收的信息包,sniffer工具却使主机的网络设备接收所有到达的信息包,这样就达到了网络监听的效果。

Linux作为网络服务器,特别是作为路由器和网关时,数据的采集和分析是必不可少的。所以,今天我们就来看看Linux中强大的网络数据采集分析工具——TcpDump。

用简单的话来定义tcpdump,就是:dump the traffice on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。

作为互联网上经典的的系统管理员必备工具,tcpdump以其强大的功能,灵活的截取策略,成为每个高级的系统管理员分析网络,排查问题等所必备的东东之一。

顾名思义,TcpDump可以将网络中传送的数据包的“头”完全截获下来提供分析。它支持针对网络层、协议、主机、网络或端口的过滤,并提供and、or、not等逻辑语句来帮助你去掉无用的信息。

tcpdump提供了源代码,公开了接口,因此具备很强的可扩展性,对于网络维护和入侵者都是非常有用的工具。tcpdump存在于基本的FreeBSD系统中,由于它需要将网络界面设置为混杂模式,普通用户不能正常执行,但具备root权限的用户可以直接执行它来获取网络上的信息。因此系统中存在网络分析工具主要不是对本机安全的威胁,而是对网络上的其他计算机的安全存在威胁。

普通情况下,直接启动tcpdump将监视第一个网络界面上所有流过的数据包。

-----------------------

bash-2.02# tcpdump

tcpdump: listening on eth0

11:58:47.873028 202.102.245.40.netbios-ns > 202.102.245.127.netbios-ns: udp 50

11:58:47.974331 0:10:7b:8:3a:56 > 1:80:c2:0:0:0 802.1d ui/C len=43

0000 0000 0080 0000 1007 cf08 0900 0000

0e80 0000 902b 4695 0980 8701 0014 0002

000f 0000 902b 4695 0008 00

11:58:48.373134 0:0:e8:5b:6d:85 > Broadcast sap e0 ui/C len=97

ffff 0060 0004 ffff ffff ffff ffff ffff

0452 ffff ffff 0000 e85b 6d85 4008 0002

0640 4d41 5354 4552 5f57 4542 0000 0000

0000 00

^C

------------------------

首先我们注意一下,从上面的输出结果上可以看出来,基本上tcpdump总的的输出格式为:系统时间 来源主机.端口 > 目标主机.端口 数据包参数

TcpDump的参数化支持

tcpdump支持相当多的不同参数,如使用-i参数指定tcpdump监听的网络界面,这在计算机具有多个网络界面时非常有用,使用-c参数指定要监听的数据包数量,使用-w参数指定将监听到的数据包写入文件中保存,等等。

然而更复杂的tcpdump参数是用于过滤目的,这是因为网络中流量很大,如果不加分辨将所有的数据包都截留下来,数据量太大,反而不容易发现需要的数据包。使用这些参数定义的过滤规则可以截留特定的数据包,以缩小目标,才能更好的分析网络中存在的问题。tcpdump使用参数指定要监视数据包的类型、地址、端口等,根据具体的网络问题,充分利用这些过滤规则就能达到迅速定位故障的目的。请使用man tcpdump查看这些过滤规则的具体用法。

显然为了安全起见,不用作网络管理用途的计算机上不应该运行这一类的网络分析软件,为了屏蔽它们,可以屏蔽内核中的bpfilter伪设备。一般情况下网络硬件和TCP/IP堆栈不支持接收或发送与本计算机无关的数据包,为了接收这些数据包,就必须使用网卡的混杂模式,并绕过标准的TCP/IP堆栈才行。在FreeBSD下,这就需要内核支持伪设备bpfilter。因此,在内核中取消bpfilter支持,就能屏蔽tcpdump之类的网络分析工具。

并且当网卡被设置为混杂模式时,系统会在控制台和日志文件中留下记录,提醒管理员留意这台系统是否被用作攻击同网络的其他计算机的跳板。

May 15 16:27:20 host1 /kernel: fxp0: promiscuous mode enabled

虽然网络分析工具能将网络中传送的数据记录下来,但是网络中的数据流量相当大,如何对这些数据进行分析、分类统计、发现并报告错误却是更关键的问题。网络中的数据包属于不同的协议,而不同协议数据包的格式也不同。因此对捕获的数据进行解码,将包中的信息尽可能的展示出来,对于协议分析工具来讲更为重要。昂贵的商业分析工具的优势就在于它们能支持很多种类的应用层协议,而不仅仅只支持tcp、udp等低层协议。

从上面tcpdump的输出可以看出,tcpdump对截获的数据并没有进行彻底解码,数据包内的大部分内容是使用十六进制的形式直接打印输出的。显然这不利于分析网络故障,通常的解决办法是先使用带-w参数的tcpdump 截获数据并保存到文件中,然后再使用其他程序进行解码分析,

当然也应该定义过滤规则,以避免捕获的数据包填满整个硬盘。

TCP功能

数据过滤

不带任何参数的TcpDump将搜索系统中所有的网络接口,并显示它截获的所有数据,这些数据对我们不一定全都需要,而且数据太多不利于分析。所以,我们应当先想好需要哪些数据,TcpDump提供以下参数供我们选择数据:

-b 在数据-链路层上选择协议,包括ip、arp、rarp、ipx都是这一层的。

例如:tcpdump -b arp 将只显示网络中的arp即地址转换协议信息。

-i 选择过滤的网络接口,如果是作为路由器至少有两个网络接口,通过这个选项,就可以只过滤指定的接口上通过的数据。例如:

tcpdump -i eth0 只显示通过eth0接口上的所有报头。

src、dst、port、host、net、ether、gateway这几个选项又分别包含src、dst 、port、host、net、ehost等附加选项。他们用来分辨数据包的来源和去向,src host 192.168.0.1指定源主机IP地址是192.168.0.1,dst net 192.168.0.0/24指定目标是网络192.168.0.0。以此类推,host是与其指定主机相关无论它是源还是目的,net是与其指定网络相关的,ether后面跟的不是IP地址而是物理地址,而gateway则用于网关主机。可能有点复杂,看下面例子就知道了:

tcpdump src host 192.168.0.1 and dst net 192.168.0.0/24

过滤的是源主机为192.168.0.1与目的网络为192.168.0.0的报头。

tcpdump ether src 00:50:04:BA:9B and dst……

过滤源主机物理地址为XXX的报头(为什么ether src后面没有host或者net?物理地址当然不可能有网络喽)。

Tcpdump src host 192.168.0.1 and dst port not telnet

过滤源主机192.168.0.1和目的端口不是telnet的报头。

ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型。

例如:

tcpdump ip src……

只过滤数据-链路层上的IP报头。

tcpdump udp and src host 192.168.0.1

只过滤源主机192.168.0.1的所有udp报头。

数据显示/输入输出

TcpDump提供了足够的参数来让我们选择如何处理得到的数据,如下所示:

-l 可以将数据重定向。

如tcpdump -l >tcpcap.txt将得到的数据存入tcpcap.txt文件中。

-n 不进行IP地址到主机名的转换。

如果不使用这一项,当系统中存在某一主机的主机名时,TcpDump会把IP地址转换为主机名显示,就像这样:eth0 < ntc9.1165> router.domain.net.telnet,使用-n后变成了:eth0 < 192.168.0.9.1165 > 192.168.0.1.telnet。

-nn 不进行端口名称的转换。

上面这条信息使用-nn后就变成了:eth0 < ntc9.1165 > router.domain.net.23。

-N 不打印出默认的域名。

还是这条信息-N 后就是:eth0 < ntc9.1165 > router.telnet。

-O 不进行匹配代码的优化。

-t 不打印UNIX时间戳,也就是不显示时间。

-tt 打印原始的、未格式化过的时间。

-v 详细的输出,也就比普通的多了个TTL和服务类型。

TCPDUMP的安装

在linux下tcpdump的安装十分简单,一般由两种安装方式。一种是以rpm包的形式来进行安装。另外一种是以源程序的形式安装。

1.rpm包的形式安装

#rpm -ivh tcpdump-3_4a5.rpm

这样tcpdump就顺利地安装到你的linux系统中。怎么样,很简单吧。

2.源程序的安装

#tar xvfz tcpdump-3_4a5.tar.Z

rpm的包可以使用如下命令安装:

#rpm -ivh tcpdump-3_4a5.src.rpm

这样就把tcpdump的源代码解压到/usr/src/redhat/SOURCES目录下

做好编译源程序前的准备活动

在编译源程序之前,最好已经确定库文件libpcap已经安装完毕,这个库文件是tcpdump软件所需的库文件 。同样,你同时还要有一个标准的c语言编译器。在linux下标准的c 语言编译器一般是gcc。 在tcpdump的源程序目录中。有一个文件是Makefile.in,configure命令就是从Makefile.in文件中自动产生Makefile文件。在Makefile.in文件中,可以根据系统的配置来修改BINDEST 和 MANDEST 这两个宏定义,缺省值是

BINDEST = @sbindir@

MANDEST = @mandir@

第一个宏值表明安装tcpdump的二进制文件的路径名,第二个表明tcpdump的man 帮助页的路径名,你可以修改它们来满足系统的需求。

编译源程序

使用源程序目录中的configure脚本,它从系统中读出各种所需的属性。并且根据Makefile.in文件自动生成Makefile文件,以便编译使用.make 命令则根据Makefile文件中的规则编译tcpdump的源程序。使用make install命令安装编译好的tcpdump的二进制文件。

总结一下就是:

# tar xvfz tcpdump-3_4a5.tar.Z

# vi Makefile.in

# . /configure

# make

# make install

关于tcpdump更详细的信息,请查看Man tcpdump。

水泥混凝土路面使用性能退化的材料问题分析

页面点击分析工具设计与实现

汽车工具使用方法

sxs.exe专杀工具

课件制作工具

工具采购申请报告

扫描工具详谈

使用工具 教学反思

体积的测量工具

photoshop基础教程选框工具

linux下使用性能分析工具nmon(精选3篇)

欢迎下载DOC格式的linux下使用性能分析工具nmon,但愿能给您带来参考作用!
推荐度: 推荐 推荐 推荐 推荐 推荐
点击下载文档 文档为doc格式
点击下载本文文档