linux系统监控
⑴ 如何监控linux服务器
一般监控服务器,你可以
首先:你可以用iostat命令,显示存储子系统的详细信息,可以用来监控磁盘I/O的情况,如果%iowait的值过大,那么就是就说明很多IO在等待了,性能当然就有影响了,当然,用free也可以查看大概的情况,如下:
其次;就是windows下面都有的工具,wireshark,前身是ethereal,是一个网络协议检测程序,可以抓去网站运行的相关咨询,包括每一封包流向及其内容,监控TCP session动态等等。
当然有些服务商是有自己的服务器监控系统,监控软件的,我用的是小鸟云的!他们有专门的与"云监控”云管家等监控软件!我是觉得很好!这样就免得麻烦!
⑵ Linux性能监控工具、调优工具
除了保证程序的正确性以外,在项目开发中往往还关心性能和稳定性。我们往往要对内核、应用程序或整个系统进行性能优化。在性能优化中常用的手段如下:
使用top、vmstat、iostat、sysctl等常用工具
top命令用于显示处理器的活动状况。在缺省情况下,显示占用CPU最多的任务,并且每隔5s做一次刷新;vmstat命令用于报告关于内核线程、虚拟内存、磁盘、陷阱和CPU活动的统计信息;iostat命令用于分析各个磁盘的传输闲忙状况;netstat是用来检测网络信息的工具; sar用于收集、报告或者保存系统活动信息,其中,sar用于显示数据,sar1和sar2用于收集和保存数据
sysctl是一个可用于改变正在运行中的Linux系统的接口。用sysctl 可以读取几白个以上的系统变量,如用sysctl—a可读取所有变量。
sysctl的实现原理是:所有的内核参数在/proc/sys中形成一个树状结构,sysctl系统调用的内核函数是sys_sysctl,匹配项目后,最后的读写在do_sysctl_strategy中完成。
2.使用高级分析手段,如OProfile、gprof
OProfile可以帮助用户识别诸如模块的占用时间、循环的展开、高速缓存的使用率低、低效的类型转换和冗余操作、错误预测转移等问题。它收集有关处理器事件的信息,其中包括TLB的故障、停机、存储器访问以及缓存命中和未命中的指令的攫取数量。OProfile支持两种采样方式:基于事件的采样(Event Based)和基于时间的采样(Time Based)。基于事件的采样是OProfile只记录特定事件(比如L2缓存未命中)的发生次数,当达到用户设定的定值时Oprofile就记录一下(采一个样)。这种方式需要CPU内部有性能计数器(Performace Counter))。基于时间的采样是OProfile借助OS时钟中断的机制,在每个时钟中断,OProfile都会记录一次(采一次样)。引入它的目的在于,提供对没有性能计数器的CPU的支持,其精度相对于基于事件的采样要低,因为要借助OS时钟中断的支持,对于禁用中断的代码,OProfile不能对其进行分析。
⑶ 如何监控LINUX网络状态
下面是按功能划分的命令名称。
监控总体带宽使用――nload、bmon、slurm、bwm-ng、cbm、speedometer和netload
监控总体带宽使用(批量式输出)――vnstat、ifstat、dstat和collectl
每个套接字连接的带宽使用――iftop、iptraf、tcptrack、pktstat、netwatch和trafshow
每个进程的带宽使用――nethogs
1. nload
nload是一个命令行工具,让用户可以分开来监控入站流量和出站流量。它还可以绘制图表以显示入站流量和出站流量,视图比例可以调整。用起来很简单,不支持许多选项。
所以,如果你只需要快速查看总带宽使用情况,无需每个进程的详细情况,那么nload用起来很方便。
$ nload
安装nload:Fedora和Ubuntu在默认软件库里面就有nload。CentOS用户则需要从Epel软件库获得nload。
# fedora或centos $ yum install nload -y # ubuntu/debian $ sudo apt-get install nload
2. iftop
iftop可测量通过每一个套接字连接传输的数据;它采用的工作方式有别于nload。iftop使用pcap库来捕获进出网络适配器的数据包,然后汇总数据包大小和数量,搞清楚总的带宽使用情况。
虽然iftop报告每个连接所使用的带宽,但它无法报告参与某个套按字连接的进程名称/编号(ID)。不过由于基于pcap库,iftop能够过滤流量,并报告由过滤器指定的所选定主机连接的带宽使用情况。
$ sudo iftop -n
n选项可以防止iftop将IP地址解析成主机名,解析本身就会带来额外的网络流量。
安装iftop:Ubuntu/Debian/Fedora用户可以从默认软件库获得它。CentOS用户可以从Epel获得它。
# fedora或centos yum install iftop -y # ubuntu或 debian $ sudo apt-get install iftop
3. iptraf
iptraf是一款交互式、色彩鲜艳的IP局域网监控工具。它可以显示每个连接以及主机之间传输的数据量。下面是屏幕截图。
$ sudo iptraf
安装iptraf:
# Centos(基本软件库) $ yum install iptraf # fedora或centos(带epel) $ yum install iptraf-ng -y # ubuntu或debian $ sudo apt-get install iptraf iptraf-ng
4. nethogs
nethogs是一款小巧的"net top"工具,可以显示每个进程所使用的带宽,并对列表排序,将耗用带宽最多的进程排在最上面。万一出现带宽使用突然激增的情况,用户迅速打开nethogs,就可以找到导致带宽使用激增的进程。nethogs可以报告程序的进程编号(PID)、用户和路径。
$ sudo nethogs
安装nethogs:Ubuntu、Debian和Fedora用户可以从默认软件库获得。CentOS用户则需要Epel。
# ubuntu或debian(默认软件库) $ sudo apt-get install nethogs # fedora或centos(来自epel) $ sudo yum install nethogs -y
5. bmon
bmon(带宽监控器)是一款类似nload的工具,它可以显示系统上所有网络接口的流量负载。输出结果还含有图表和剖面,附有数据包层面的详细信息。
安装bmon:Ubuntu、Debian和Fedora用户可以从默认软件库来安装。CentOS用户则需要安装repoforge,因为Epel里面没有bmon。
# ubuntu或debian $ sudo apt-get install bmon # fedora或centos(来自repoforge) $ sudo yum install bmon
bmon支持许多选项,能够制作HTML格式的报告。欲知更多信息,请参阅参考手册页。
6. slurm
slurm是另一款网络负载监控器,可以显示设备的统计信息,还能显示ASCII图形。它支持三种不同类型的图形,使用c键、s键和l键即可激活每种图形。slurm功能简单,无法显示关于网络负载的任何更进一步的详细信息。
$ slurm -s -i eth0
安装slurm
# debian或ubuntu $ sudo apt-get install slurm # fedora或centos $ sudo yum install slurm -y
7. tcptrack
tcptrack类似iftop,使用pcap库来捕获数据包,并计算各种统计信息,比如每个连接所使用的带宽。它还支持标准的pcap过滤器,这些过滤器可用来监控特定的连接。
安装tcptrack:Ubuntu、Debian和Fedora在默认软件库里面就有它。CentOS用户则需要从RepoForge获得它,因为Epel里面没有它。
# ubuntu, debian $ sudo apt-get install tcptrack # fedora, centos(来自repoforge软件库) $ sudo yum install tcptrack
8. vnstat
vnstat与另外大多数工具有点不一样。它实际上运行后台服务/守护进程,始终不停地记录所传输数据的大小。之外,它可以用来制作显示网络使用历史情况的报告。
$ service vnstat status * vnStat daemon is running
运行没有任何选项的vnstat,只会显示自守护进程运行以来所传输的数据总量。
$ vnstat Database updated: Mon Mar 17 15:26:59 2014 eth0 since 06/12/13 rx: 135.14 GiB tx: 35.76 GiB total: 170.90 GiB monthly rx | tx | total | avg. rate ------------------------+-------------+-------------+------------- Feb '14 8.19 GiB | 2.08 GiB | 10.27 GiB | 35.60 kbit/s Mar '14 4.98 GiB | 1.52 GiB | 6.50 GiB | 37.93 kbit/s ------------------------+-------------+-------------+------------- estimated 9.28 GiB | 2.83 GiB | 12.11 GiB | daily rx | tx | total | avg. rate ------------------------+-------------+-------------+------------- yesterday 236.11 MiB | 98.61 MiB | 334.72 MiB | 31.74 kbit/s today 128.55 MiB | 41.00 MiB | 169.56 MiB | 24.97 kbit/s ------------------------+-------------+-------------+------------- estimated 199 MiB | 63 MiB | 262 MiB |
想实时监控带宽使用情况,请使用"-l"选项(实时模式)。然后,它会显示入站数据和出站数据所使用的总带宽量,但非常精确地显示,没有关于主机连接或进程的任何内部详细信息。
$ vnstat -l -i eth0 Monitoring eth0... (press CTRL-C to stop) rx: 12 kbit/s 10 p/s tx: 12 kbit/s 11 p/s
vnstat更像是一款制作历史报告的工具,显示每天或过去一个月使用了多少带宽。它并不是严格意义上的实时监控网络的工具。
vnstat支持许多选项,支持哪些选项方面的详细信息请参阅参考手册页。
安装vnstat
# ubuntu或debian $ sudo apt-get install vnstat # fedora或 centos(来自epel) $ sudo yum install vnstat
9. bwm-ng
bwm-ng(下一代带宽监控器)是另一款非常简单的实时网络负载监控工具,可以报告摘要信息,显示进出系统上所有可用网络接口的不同数据的传输速度。
$ bwm-ng bwm-ng v0.6 (probing every 0.500s), press 'h' for help input: /proc/net/dev type: rate / iface Rx Tx T ot================================================================= == eth0: 0.53 KB/s 1.31 KB/s 1.84 KB lo: 0.00 KB/s 0.00 KB/s 0.00 KB------------------------------------------------------------------------------------------------------------- total: 0.53 KB/s 1.31 KB/s 1.84 KB/s
如果控制台足够大,bwm-ng还能使用curses2输出模式,为流量绘制条形图。
$ bwm-ng -o curses2
安装bwm-ng:在CentOS上,可以从Epel来安装bwm-ng。
# ubuntu或debian $ sudo apt-get install bwm-ng # fedora或centos(来自epel) $ sudo apt-get install bwm-ng
10. cbm:Color Bandwidth Meter
这是一款小巧简单的带宽监控工具,可以显示通过诸网络接口的流量大小。没有进一步的选项,仅仅实时显示和更新流量的统计信息。
$ sudo apt-get install cbm
11. speedometer
这是另一款小巧而简单的工具,仅仅绘制外观漂亮的图形,显示通过某个接口传输的入站流量和出站流量。
$ speedometer -r eth0 -t eth0
安装speedometer
# ubuntu或debian用户 $ sudo apt-get install speedometer
12. pktstat
pktstat可以实时显示所有活动连接,并显示哪些数据通过这些活动连接传输的速度。它还可以显示连接类型,比如TCP连接或UDP连接;如果涉及HTTP连接,还会显示关于HTTP请求的详细信息。
$ sudo pktstat -i eth0 -nt $ sudo apt-get install pktstat
13. netwatch
netwatch是netdiag工具库的一部分,它也可以显示本地主机与其他远程主机之间的连接,并显示哪些数据在每个连接上所传输的速度。
$ sudo netwatch -e eth0 -nt $ sudo apt-get install netdiag
14. trafshow
与netwatch和pktstat一样,trafshow也可以报告当前活动连接、它们使用的协议以及每条连接上的数据传输速度。它能使用pcap类型过滤器,对连接进行过滤。
只监控TCP连接
$ sudo trafshow -i eth0 tcp $ sudo apt-get install netdiag
15. netload
netload命令只显示关于当前流量负载的一份简短报告,并显示自程序启动以来所传输的总字节量。没有更多的功能特性。它是netdiag的一部分。
$ netload eth0 $ sudo apt-get install netdiag
16. ifstat
ifstat能够以批处理式模式显示网络带宽。输出采用的一种格式便于用户使用其他程序或实用工具来记入日志和分析。
$ ifstat -t -i eth0 0.5 Time eth0 HH:MM:SS KB/s in KB/s out 09:59:21 2.62 2.80 09:59:22 2.10 1.78 09:59:22 2.67 1.84 09:59:23 2.06 1.98 09:59:23 1.73 1.79
安装ifstat:Ubuntu、Debian和Fedora用户在默认软件库里面就有它。CentOS用户则需要从Repoforge获得它,因为Epel里面没有它。
# ubuntu, debian $ sudo apt-get install ifstat # fedora, centos(Repoforge) $ sudo yum install ifstat
17. dstat
dstat是一款用途广泛的工具(用python语言编写),它可以监控系统的不同统计信息,并使用批处理模式来报告,或者将相关数据记入到CSV或类似的文件。这个例子显示了如何使用dstat来报告网络带宽。
安装dstat
$ dstat -nt -net/total- ----system---- recv send| time 0 0 |23-03 10:27:13 1738B 1810B|23-03 10:27:14 2937B 2610B|23-03 10:27:15 2319B 2232B|23-03 10:27:16 2738B 2508B|23-03 10:27:17
18. collectl
collectl以一种类似dstat的格式报告系统的统计信息;与dstat一样,它也收集关于系统不同资源(如处理器、内存和网络等)的统计信息。这里给出的一个简单例子显示了如何使用collectl来报告网络使用/带宽。
$ collectl -sn -oT -i0.5 waiting for 0.5 second sample... # <----------Network----------> #Time KBIn PktIn KBOut PktOut 10:32:01 40 58 43 66 10:32:01 27 58 3 32 10:32:02 3 28 9 44 10:32:02 5 42 96 96 10:32:03 5 48 3 28
安装collectl
# Ubuntu/Debian用户 $ sudo apt-get install collectl #Fedora $ sudo yum install collectl
⑷ 如何监视Linux系统资源的使用情况
Linux操作系统也会有闹脾气的时候。在某些情况下,其系统的资源使用率(包括CPU或者内存),也会达到90%以上甚至更多。为此系统管理员在必要的时候,仍然需要监视系统资源的使
虽然说Linux操作系统要比Windows操作系统稳定的多。但是这个稳定是相对而言的。也就是说,Linux操作系统也会有闹脾气的时候。在某些情况下,其系统的资源使用率(包括CPU或者内存),也会达到90%以上甚至更多。为此系统管理员在必要的时候,仍然需要监视系统资源的使用情况。笔者今天就给大家介绍一下,在Linux操作系统下如何监视这个系统资源,做到心中有数。
在Windows操作系统中,可以通过任务管理器来查询各个进程所占用的CPU与内存的比率。在Linux操作系统中没有这种图形化的管理。在命令行模式下,键入top命令,即可以看到各个进程所占用的系统资源。
ppp作为一个合格的系统管理员,出于系统性能优化或者其他方面的考虑,往往需要掌握系统中最消耗CPU或者内存资源的程序。为了达到这个目的,系统管理员就需要借助系统提供的top命令。这个命令可以帮助管理员监控系统资源的使用情况,包括内存、CPU、交换文件分区的使用率等等。就是这个命令的执行结果。系统管理员想要提升操作系统的性能,第一步就是需要读懂上面这张表格。如果这种图中的内容系统管理员无法看懂,那么他就想提升系统的性能根本无法入手。
Top命令的运行结果大致可以分为两个部分。上半部是使一些统计的信息,包括内存和交换分区的使用情况、CPU的运行情况、进程的总数等等。在这些统计信息中,系统管理员除了要关注这些重要资源的使用滤外,还需要注意进程运行的状态。可见在Linux系统中进程的状态主要有四种,分别为running、sleeping、stopped和zombie。如果从系统维护与性能优化考虑,则系统管理员需要关注那些状态为zombie的进程。若进程处于这个状态,在Linux操作系统中叫做僵尸进程。什么叫做僵尸进程呢?就是那些父进程还没死、但是子进程却死了的进程。在Linux操作系统中,进程一般分为父进程和子进程。某个进程A可能会调用另外一个进程B。此时这个进程A就叫做父进程,而进程B就叫做子进程。由于一些意外的情况,子进程运行已经停止,但是父进程却还不知道子进程早已停止运行,还在那边傻傻的等待着子进程返回运行结果。由于子进程没有返回结果,则父进程可能一直会在那边等待。从而导致系统性能的下降。如果系统管理员发现有僵尸进程的话,首先要做的就是结束父进程(有时候还需要查看这个父进程打开的其他子进程运行情况),以释放其占用的系统资源。其次如果这种情况发生的比较频繁时,则系统管理员就需要分析到底是什么原因导致这种情况发生的。找到原因后要采取积极的措施。通常情况下,如果子进程的状态为僵尸时,父进程就不会自动结束,从而其占用的系统资源就不会自动释放,从而降低操作系统的性能。
二、Top命令的使用技巧。
1、 选择合适的排序顺序。
在Windows操作系统的任务管理器中,管理员可以根据需要选择合适的排序顺序,如按CPU排序或者按内存的使用率进行排序。而在top命令的显示结果中,默认情况下是按照CPU的使用率来进行排序的。如果现在系统管理员想按照内存使用率来排序,该如何处理呢?如果要想改变top命令结果的排序顺序,则可以按m键来按内存进行排序。注意这里的m是小写,而不是大写的。在Linux操作系统中大部分命令与参数大小写都是敏感的。这跟微软操作系统中的DOS命令不同。Dos命令是不区分大小写的。虽然这个排序没有像微软操作系统中的任务管理器那么方便,只需要点点鼠标就可以完成排序。但是只要熟悉相关的命令,在命令行中对其排序没有大家想想的那么困难。
2、 监视特定用户使用的资源情况。
在Windows操作系统中,如果想要查看特定帐户所打开的进程以及所耗用的系统资源,操作非常简单。只需要打开系统任务管理器,然后按照用户来进行排序。就可以知道某个用户开启了哪些进程以及所占用的比例。而在top命令中,没有按帐户进行排序的功能。即在上面这个显示结果中,只可以按照内存使用率或者CPU负载来进行排序,而无法按照用户来进行排序。在同一个结果中夹杂着系统特权用户root与普通用户所打开的进程。这对于系统管理员查找问题原因非常的不方便。有时候系统管理员往往需要只查看特定用户的进程,如只需要查看oracle帐户所打开的进程以及所占用的系统资源。而忽略掉系统帐户。因为特权帐户其他用户无权进行登陆操作,而其运行的往往是一些系统级别的进程,为此一般不会出现问题。而普通用户可以运行一些应用程序。有时候他们糊里糊涂可能会打开一些非法程序,占用大量的系统资源,从而降低系统性能。废话少说,如何才能够查看特定帐户所启动的进程呢?其实很简单。现运行 top命令,让系统统计所有帐户的进程。然后在需要查看特定帐户的进程使,只需要按u键(注意小写),然后输入用户名即可。此时系统会自动把其他帐户的进程过滤掉,方便系统管理员查看。按用户过滤后,仍然可以按m键来对现实的结果进行过滤。如果在一开始就需要查看某个特定用户的进程,那么只需要直接在 top命令后面加入-u可选项然后带上具体的用户名即可。但是,此时如果再想查看全部用户的话,那么只有先推出top命令,然后再利用top命令不带任何选项,来查看所有用户的进程。或者说,再在这个窗口中输入字符u,然后直接按回车键,也可以显示所用用户的进程信息。
3、动态统计信息。
使用top命令来统计进程的运行信息,跟微软操作系统的任务管理器一样,都是动态调整的。也就是说,系统会每隔一段时间去统计这个信息,然后动态的显示在窗口中。不需要用户手工去更新相关的信息。而且从上面的图形中可以看出,top命令统计的信息要比微软任务管理器统计的信息要多的多。所以对系统管理员来说,具有更大的参考价值。笔者以前也很喜欢采用微软操作系统的任务管理器。而了解了top命令后,就对其钟爱有加了。因为其不仅可以完成任务管理器中的所有功能。而且top命令中有的信息在微软任务管理器中却无法显示。而这些信息往往对我们维护系统、提升性能具有很大的参考价值。
4、删除有异常的进程。
如果这个窗口中,发现某些进程有异常或者用户执行了规定以外的应用程序,如占用了太多的系统资源或者有僵尸进程的存在,则可以直接在这个窗口中讲其删除。操作的方法很简单,只需要在这个窗口内输入字符p,然后系统会提示系统管理员输入要关闭进程的PID。管理员只需要键入这个值,然后按回车键就可以杀掉不需要的进程。不过在关闭进程的时候,有权限的限制。系统特权帐户root可以关闭所有用户的进程。而普通帐户则只能够删除自己打开的程序,而无法关闭其他用户的进程。如现在系统管理员先以oracle用户登录,发现root帐户下某个进程异常,想要关闭时,系统会提示无法关闭的错误信息。此时管理员必须先终止这个top进程,然后利用su命令更改登陆的帐户。然后再关闭这个异常的进程。系统管理员可以同时关闭多个进程。方法很简单,就是同时输入多个需要关闭的进程号。在各个进程号之间需要利用逗号隔开。
top在系统维护中是一个很有用的命令。除了可以实现如上的功能外,还可以设置其动态更新的时间间隔等等。不过需要注意的是,在不同版本的 Linux系统中其功能稍有差异,而且其显示的布局与内容也有所不同。为此当系统管理员维护其不怎么熟悉的版本时,有时候需要查看系统的帮助说明。此时只需要在top命令后面加上?号就可以获得相关的帮助。这个联机帮助文档根top命令一样,都是系统管理员的好帮手。不过可惜的是,现在这些在线帮助文档都是英文的。所以这对系统管理员的英文说明要求比较高。
⑸ linux 除了zabbix还有什么监控软件
除了zabbix,还有Nagios,ganglia等。
当然还有一些关注某一方面监控的软件,太多了我就不一一列举了。
⑹ 如何在Linux中快速监控多个云主机
有很多监控工具可用来监控本地和远程 Linux 系统,一个很好的例子是Cockpit。但是,这些工具的安装和使用比较复杂,至少对于新手管理员来说是这样。新手管理员可能需要花一些时间来弄清楚如何配置这些工具来监视系统。如果你想要以快速且粗略地在局域网中一次监控多台主机,你可能需要了解一下 “rwho” 工具。只要安装了 rwho 实用程序,它将立即快速地监控本地和远程系统。你什么都不用配置!你所要做的就是在要监视的系统上安装 “rwho” 工具。
你可以在以下位置找到有关局域网中所有其他机器的信息:
$ls/var/spool/rwho/
whod.ostechnix whod.server
它很小,但却非常有用,可以发现谁在哪台计算机上登录,以及正常运行时间和系统负载详情。
建议阅读:
请注意,这种方法有一个严重的漏洞。由于有关每台计算机的信息都通过网络进行广播,因此该子网中的每个人都可能获得此信息。通常情况下可以,但另一方面,当有关网络的信息分发给非授权用户时,这可能是不必要的副作用。因此,强烈建议在受信任和受保护的局域网中使用它。
⑺ 如何使用Nmon监控Linux系统性能
用Nmon监控Linux系统性能的方法请参见下面介绍(配图):
1、安装Nmon
2、一旦安装完成,则可以通过在终端执行 nmon 命令启动它。
Nmon命令执行之后,大家可以看到如下输出:
3、从上图中大家可以看到,Nmon 命令行工具是一个用户交互的应用程序,大家可以非常方便地使用键盘快捷键来查看相关统计信息。
q : 停止并退出Nmon
h : 查看帮助信息
c : 查看 CPU 统计信息
m : 查看内存统计信息
d : 查看磁盘统计信息
k : 查看内核统计信息
n : 查看网络统计信息
N : 查看 NFS 统计信息
j : 查看文件系统统计信息
t : 查看 Top 进程统计信息
V : 查看虚拟内存统计信息
v : 详细输出模式
4、查看 CPU 统计信息
如果你想查看 CPU 性能信息,可以直接按 c 键:
5、查看 Top 进程统计信息
如果你想查看 Top 进程统计信息,可以直接按 t 键:
6、查看网络统计信息
如果你想查看网络统计信息,可以直接按 n 键:
7、磁盘I/O图
使用 d 键可以查看磁盘统计信息:
8、查看内核统计信息
如果你想查看内核统计信息,可以直接按 k 键:
9、获取系统信息
如果要查看 Linux 的系统信息,如:系统架构、操作系统版本、Linux 版本则可以使用 r 键,这对系统管理员非常有用。
以上是基础使用方法。下面再补充一些命令和方法:
1、启动
打开nmon所在的目录:cd /usr/local/nmon修改启动文件的访问权限:chmod 755 nmon_x86_rhel52启动nmon:./nmon_x86_rhel52如果要采样nmon的数据保存成文件,可以./nmon_x86_rhel52 -fT -s 30 -c 120其中30表示每隔30秒nmon取一次系统性能数据,120表示取120次;这样nmon将会在运行开始算起连续取得30sX120=60分钟,可根据实际需要时间调整;当运行以上命令后该目录下会生成一个.nmon文件,该文件会根据间隔时间被写入性能数据,当一段时间后再查看该文件,文件字节变大
利用nmonanalyser分析.nmon文件
当测试结束的同时ftp到服务器上将.nmon文件get下来,打开nmon_analyser.zip 包下的nmon analyser v338.xls 文件,点击Analyse nomn data按钮,选择之前get来下的.nmon文件。(如果报告以下宏的安全级别太高错误,则在“工具 -- 宏 --安全性”里把级别调低,然后重新打开 nmon analyser v338.xls 文件)待分析结束后会生成性能分析结果文件(文件格式为.xls,其中包括CPU,IO,内存等性能分析报告)。分析结果中有很多数据和图形,简要介绍主要的性能参数图像
4.1 系统汇总(对应excel标签的‘SYS_SUMM’)蓝线为cpu占有率变化情况;粉线为磁盘IO的变化情况;
4.2磁盘读写情况汇总(对应excel标签的‘DISK_SUMM’)蓝色为磁盘读的速率KB/sec紫色为磁盘写的速率KB/sec
4.3内存情况汇总(对应excel标签的‘MEM’)曲线表示内存剩余量(MB)分析数据得到的报告文件(.xls)中包含很多性能分析结果数据,根据自己的需要查看。
2、nmon运行本身就消耗系统资源的;另外如果取到.nmon文件后确定不再需要nmon继续收集信息则应kill掉nmon;命令:
ps -A | grep nmon #得到pid
kill -9 pid
suse10 enterprise sp2:
nmon_x86_rhel3
使用对应的操作系统文件:chmod +x nmon_x86_ubuntu810mv nmon_x86_ubuntu810 /usr/local/bin/nmon
对于 Debian 还要做以下操作(不做也同样能运行):apt-get install lsb-releaselsb_release -d | sed 's/Description:\t//' > /etc/debian_release
然后直接运行 nmon 即可。
采集数据并生成报表:采集数据:nmon -s10 -c60 -f -m /home/
参数解释:-s10 每 10 秒采集一次数据。-c60 采集 60 次,即为采集十分钟的数据。-f 生成的数据文件名中包含文件创建的时间。-m 生成的数据文件的存放目录。
这样就会生成一个 nmon 文件,并每十秒更新一次,直到十分钟后。生成的文件名如: hostname_090824_1306.nmon ,"hostname" 是这台主机的主机名。
⑻ 如何监控linux空间
Linux系统中需要监控磁盘各分区的使用情况,避免由于各种突发情况,造成磁盘空间被消耗殆尽的情况,例如某个分区被Oracle的归档日志耗尽,导致后续的日志文件无法归档,这时ORACLE数据库就会出现错误。监控磁盘空间的使用情况,其实有许多工具,例如Nagios等,其实最简单的还是使用Shell脚本。下面就介绍一下如何通过Shell脚本和Crontab作业结合来实现对磁盘空间的监控、告警。
一般查看磁盘各分区的使用情况可以通过df命令来查看,网上有两种获取磁盘使用百分比的Shell脚本。
1:df -h | grep /dev | awk '{print $5}' | cut -f 1 -d "%"
2:df -h | grep /dev | awk '{print $5}' | sed 's/%//g'
但是这两个命令还是有些bug,例如如下截图所示:当显示内容过长,导致换行时。此时上面的Shell脚本就无法获取其值。
⑼ 如何监控linux服务器上的数据
linux服务器性能监测是很重要的工作,服务器运行应该提供最有效的系统性能。当服务器系统性能突然低于平均应有的情况,问题可能来自在执行的进程、内存的使用率、磁盘的性能、网络流量和cpu
的压力。在预算短缺的今天,理解如何优化系统性能比以往任何时候都重要。
要实现它的前提是,你必须充分了解自己的计算机和网络,从而找到真正的瓶颈所在。本文提供一些基础的工具来辨别和处理一些性能问题。使用的linux
发行版本是red
hat
enterprise
linux
4,工作过程是:首先查看整个系统的状态,然后是检查特定的子系统。
linux服务器进行性能监控有几种方法,每种方法都各有其优缺点。
使用snmp等标准工具
标准及非标准工具能执行一个或多个收集、合并及传输阶段,如rstatd或snmp工具,然而标准的rstat后台程序提供的信息是有限的,速度慢而且效率低。
内核模块
几个系统监控工程利用内核模块来存取监控数据。一般情况下,这是很有效的收集系统数据的方法。然而这种方法存在的问题是,当主内核源内有其它改变时,必须保持代码一致性。一个内核模块可能与用户想使用的其它内核模块相冲突。此外,在使用监控系统之前,用户必须获得或申请模块。
/proc虚拟文件系统
/proc虚拟文件系统是一个较快的、高效率执行系统监控的方法。使用/proc的主要缺点是必须保持代码分析与/proc
文件格式改变的同步。事实表明,linux内核的改变比/proc
文件格式的改变要更频繁,所以,用/proc虚拟文件系统比用内核模块存在的问题要少。本文介绍的方法即基于/proc虚拟文件系统。
一、
/proc文件系统特点
linux
系统向管理员提供了非常好的方法,使他们可以在系统运行时更改内核,而不需要重新引导内核系统。这是通过
/proc
虚拟文件系统实现的。/proc
文件虚拟系统是一种内核和内核模块用来向进程
(process)
发送信息的机制
(所以叫做
/proc)。这个伪文件系统让你可以和内核内部数据结构进行交互,获取
有关进程的有用信息,在运行中
(on
the
fly)
改变设置
(通过改变内核参数)。
与其他文件系统不同,/proc
存在于内存之中而不是硬盘上。不用重新启动而去看
cmos
,就可以知道系统信息。这就是
/proc
的妙处之一。
小提示:
每个linux系统根据软硬件不同/proc
虚拟文件系统的内容也有些差异。/proc
虚拟文件系统有三个很重要的目录:net,scsi和sys。sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。