有什么监控Linux服务器的工具吗?

有什么监控Linux服务器的工具吗?,第1张

1、Ganglia

是一个集群监控软件,可以监视和显示集群中的节点的各种状态信息,比如:CPU、mem、硬盘利用率、I/O负载、网络流量情况等,同时可以将历史数据以曲线方式通过php页面呈现,此软件主要是用来监控系统性能的软件,通过曲线可以很容易见到每个节点的工作状态,对合理调整、分配系统资源,提高系统整体性能起到重要作用。

它是分布式的监控系统,有两个Daemon,是一个Linux下图形化监控系统运行性能的软件,界面美观、丰富,功能强大。

RRDtool是系统存放和显示time-series (即网络带宽、温度、人数、服务器负载等) 。并且它提出有用的图表由处理数据强制执行有些数据密度。

2、Cacti

是一套基于PHP、MySQL、SNMP及RRDTool开发的网络流量监测图形分析工具,通过snmpget来获取数据,使用RRDTool绘画图形,提供了非常强大的数据和用户管理功能,可以指定每一个用户能查看树状结 构、host以及任何一张图,还可以与LDAP结合进行用户验证,同时也能自己增加模板,功能非常强大完善。

cacti是用php语言实现的一个软件,它的主要功能是用snmp服务获取数据,然后用rrdtool储存和更新数据,当用户需要查看数据的时候用rrdtool生成图表呈现给用户。因此,snmp和rrdtool是cacti的关键。

3、Zenoss

是一款智能监控软件,允许IT管理员依靠单一的WEB控制台来监控网络架构的状态和健康度。Zenoss Core同时也是开源的网络与系统管理软件。

Zenoss提供功能丰富的产品,以监测整个IT基础设施:

网络 -路由器,交换机,防火墙,接入点;

服务器 -微软的Windows , Linux , Unix系统,惠普, NetApp,戴尔;

虚拟化 -完整虚拟机虚拟化基础架构( VI3 )管理, XenSource监测;

应用领域 -Process(程序),Port,网络应用服务, Web服务,数据库,中间件,商业企业应用方案 ;

4、Argus

是一个网络连接监控器,可以利用它来定制监控网络中符合某种条件的计算机,例如网络空闲、断开等。

5、Monit

是一款功能非常丰富的进程、文件、目录和设备的监测软件,用于UNIX平台,可以自动修复那些已经停止运行的程序,适合处理那些由于多种原因导致的软件错误。

6、Nagios

是一个监视系统运行状态和网络信息的监视系统,能监视所指定的本地或远程主机以及服务,同时提供异常通知功能等Nagios可运行在Linux/Unix平台之上,同时提供一个可选的基于浏览器的WEB界面以方便系统管理人员查看网络状态,各种系统问题,以及日志等等。

Nagios的主要功能特点:

监视网络服务(SMTP、POP3、HTTP、NNTP、PING等);

监视主机资源(进程、磁盘等);

简单的插件设计可以轻松扩展Nagios的监视功能;

服务等监视的并发处理;

错误通知功能(通过email、pager或其他用户自定义的方法)。

linux系统怎么看正在运行的网卡有哪些?

ifconfig可以看,第三行内容有up和running就说明在物理上是好的。要看流量就看发送和就收的数据包。

linux有什么命令能够查看本机器的网络流量?

nethogs:按进程查看流量占用iptraf:按连接/端口查看流量ifstat:按设备查看流量ethtool:诊断工具tcpdump:抓包工具希赛里有很多这方面资料的。

如何使得Linux服务器下多网卡负载均衡?

◆应用服务器的负载均衡技术如果将客户端的负载均衡层移植到某一个中间平台,形成三层结构,则客户端应用可以不需要做特殊的修改,透明的通过中间层应用服务器将请求均衡到相应的服务结点。比较常见的实现手段就是反向代理技术。使用反向代理服务器,可以将请求均匀转发给多台服务器,或者直接将缓存的数据返回客户端,这样的加速模式在一定程度上可以提升静态网页的访问速度,从而达到负载均衡的目的。使用反向代理的好处是,可以将负载均衡和代理服务器的高速缓存技术结合在一起,提供有益的性能。然而它本身也存在一些问题,首先就是必须为每一种服务都专门开发一个反向代理服务器,这就不是一个轻松的任务。反向代理服务器本身虽然可以达到很高效率,但是针对每一次代理,代理服务器就必须维护两个连接,一个对外的连接,一个对内的连接,因此对于特别高的连接请求,代理服务器的负载也就非常之大。反向代理能够执行针对应用协议而优化的负载均衡策略,每次仅访问最空闲的内部服务器来提供服务。但是随着并发连接数量的增加,代理服务器本身的负载也变得非常大,最后反向代理服务器本身会成为服务的瓶颈。◆基于域名系统的负载均衡NCSA的可扩展Web是最早使用动态DNS轮询技术的web系统。在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。在很多知名的web站点都使用了这个技术:包括早期的yahoo站点、163等。动态DNS轮询实现起来简单,无需复杂的配置和管理,一般支持bind82以上的类unix系统都能够运行,因此广为使用。DNS负载均衡是一种简单而有效的方法,但是存在不少问题。首先域名服务器无法知道服务结点是否有效,如果服务结点失效,余名系统依然会将域名解析到该节点上,造成用户访问失效。其次,由于DNS的数据刷新时间TTL(TimetoLIVE)标志,一旦超过这个TTL,其他DNS服务器就需要和这个服务器交互,以重新获得地址数据,就有可能获得不同IP地址。因此为了使地址能随机分配,就应使TTL尽量短,不同地方的DNS服务器能更新对应的地址,达到随机获得地址。然而将TTL设置得过短,将使DNS流量大增,而造成额外的网络问题。最后,它不能区分服务器的差异,也不能反映服务器的当前运行状态。当使用DNS负载均衡的时候,必须尽量保证不同的客户计算机能均匀获得不同的地址。例如,用户A可能只是浏览几个网页,而用户B可能进行着大量的下载,由于域名系统没有合适的负载策略,仅仅是简单的轮流均衡,很容易将用户A的请求发往负载轻的站点,而将B的请求发往负载已经很重的站点。因此,在动态平衡特性上,动态DNS轮询的效果并不理想。◆高层协议内容交换技术除了上述的几种负载均衡方式之外,还有在协议内部支持负载均衡能力的技术,即URL交换或七层交换,提供了一种对访问流量的高层控制方式。Web内容交换技术检查所有的HTTP报头,根据报头内的信息来执行负载均衡的决策。例如可以根据这些信息来确定如何为个人主页和图像数据等内容提供服务,常见的有HTTP协议中的重定向能力等。HTTP运行于TCP连接的最高层。客户端通过恒定的端口号80的TCP服务直接连接到服务器,然后通过TCP连接向服务器端发送一个HTTP请求。协议交换根据内容策略来控制负载,而不是根据TCP端口号,所以不会造成访问流量的滞留。由于负载平衡设备要把进入的请求分配给多个服务器,因此,它只能在TCP连接时建立,且HTTP请求通过后才能确定如何进行负载的平衡。当一个网站的点击率达到每秒上百甚至上千次时,TCP连接、HTTP报头信息的分析以及进程的时延已经变得很重要了,要尽一切可能提高这几各部份的性能。在HTTP请求和报头中有很多对负载平衡有用的信息。我们可以从这些信息中获知客户端所请求的URL和网页,利用这个信息,负载平衡设备就可以将所有的图像请求引导到一个图像服务器,或者根据URL的数据库查询内容调用CGI程序,将请求引导到一个专用的高性能数据库服务器。如果网络管理员熟悉内容交换技术,他可以根据HTTP报头的cookie字段来使用Web内容交换技术改善对特定客户的服务,如果能从HTTP请求中找到一些规律,还可以充分利用它作出各种决策。除了TCP连接表的问题外,如何查找合适的HTTP报头信息以及作出负载平衡决策的过程,是影响Web内容交换技术性能的重要问题。如果Web服务器已经为图像服务、SSL对话、数据库事务服务之类的特殊功能进行了优化,那么,采用这个层次的流量控制将可以提高网络的性能。◆网络接入协议交换大型的网络一般都是由大量专用技术设备组成的,如包括防火墙、路由器、第3、4层交换机、负载均衡设备、缓冲服务器和Web服务器等。如何将这些技术设备有机地组合在一起,是一个直接影响到网络性能的关键性问题。现在许多交换机提供第四层交换功能,对外提供一个一致的IP地址,并映射为多个内部IP地址,对每次TCP和UDP连接请求,根据其端口号,按照即定的策略动态选择一个内部地址,将数据包转发到该地址上,达到负载均衡的目的

sar(System Activity Reporter系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,

包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。

本文主要以CentOS 63 x64系统为例,介绍sar命令。

1、sar命令常用格式

sar [options] [-A] [-o file] t [n]

其中:

t为采样间隔,n为采样次数,默认值是1;

-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。

options 为命令行选项,sar命令常用选项如下:

 -A:所有报告的总和

-P:设定CPU

-u:输出CPU使用情况的统计信息

-v:输出inode、文件和其他内核表的统计信息

-d:输出每一个块设备的活动信息

-n:汇报网络情况

-q:汇报队列长度和负载信息

-r:输出内存和交换空间的统计信息

-b:显示I/O和传送速率的统计信息

-a:文件读写情况

-c:输出进程统计信息,每秒创建的进程数

-R:输出内存页面的统计信息

-y:终端设备活动情况

-w:输出系统交换活动信息

2 CPU资源监控

例如,每10秒采样一次,连续采样3次,观察CPU 的使用情况,并将采样结果以二进制形式存入当前目录下的文件sys_info中,需键入如下命令:

代码如下:

sar -u -o sys_info 10 3

屏幕显示如下:

17:06:16 CPU %user %nice %system %iowait %steal %idle

17:06:26 all 000 000 020 000 000 9980

17:06:36 all 000 000 020 000 000 9980

17:06:46 all 000 000 010 000 000 9990

Average: all 000 000 017 000 000 9983

输出项说明:

CPU:all 表示统计信息为所有 CPU 的平均值。

%user:显示在用户级别(application)运行使用 CPU 总时间的百分比。

%nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。

%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比。

%iowait:显示用于等待I/O操作占用 CPU 总时间的百分比。

%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。

%idle:显示 CPU 空闲时间占用 CPU 总时间的百分比。

注意说明:

(1) 若 %iowait 的值过高,表示硬盘存在I/O瓶颈

(2) 若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量

(3) 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU 。

由于sys_info是二进制文件中的内容, 当你用cat看sys_info时发现全都是乱码,呵呵,别着急,sar为你准备了-f filename选项,你只要用-f设定要读取的信息存储文件,就可以清晰地读出信息了。

比如

代码如下:

sar -f sys_info

如果我的CPU是多核处理器,那么sar能知道某一个核的运行信息么

完全没问题的。有一个选项-P,就是用来为多核处理器而设计的。

当在使用sar命令而没有设定-P选项时,sar会根据所有核给出一个宏观汇报,也就是平均的值。

如果使用了-P选项来指定某一个核,那么就会针对这个单独的核给出具体性能信息。

当使用-P ALL时,sar就会根据每一个核都给出其具体性能信息,然后再给出一个总的性能信息。

比如,我这里有一个至强处理器的CPU,是双核CPU,看看-P的使用方法吧:

代码如下:

sar -P ALL 1 1

Linux 269 10/16/2009

10:59:38 PM CPU %user %nice %system %iowait %idle

10:59:39 PM all 212 000 287 000 9501

10:59:39 PM 0 000 000 198 000 9802

10:59:39 PM 1 900 000 700 000 8400

sar会根据处理器的每一个核给出性能信息。当我们想查看第6个核的信息时,其输出如下:

代码如下:

sar -P 0 1 1

3 inode、文件和其他内核表监控

例如,每10秒采样一次,连续采样3次,观察核心表的状态,需键入如下命令:

代码如下:

sar -v 10 3

屏幕显示如下:

17:10:49 dentunusd file-nr inode-nr pty-nr

17:10:59 6301 5664 12037 4

17:11:09 6301 5664 12037 4

17:11:19 6301 5664 12037 4

Average: 6301 5664 12037 4

输出项说明:

dentunusd:目录高速缓存中未被使用的条目数量

file-nr:文件句柄(file handle)的使用数量

inode-nr:索引节点句柄(inode handle)的使用数量

pty-nr:使用的pty数量

4 内存和交换空间监控

例如,每10秒采样一次,连续采样3次,监控内存分页:

代码如下:

sar -r 10 3

屏幕显示如下:

10:02:52 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit

10:03:02 PM 2289016 1632096 4162 204860 1218352 333068 849

10:03:12 PM 2288388 1632724 4164 204860 1218352 333068 849

10:03:22 PM 2288544 1632568 4164 204860 1218352 333068 849

Average: 2288649 1632463 4163 204860 1218352 333068 849

输出项说明:

kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间

kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间

%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比

kbbuffers和kbcached:这两个值就是free命令中的buffer和cache

kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap)

%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比

5 内存分页监控

例如,每10秒采样一次,连续采样3次,监控内存分页:

代码如下:

sar -B 10 3

屏幕显示如下:

 输出项说明:

pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)

pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)

fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)

majflt/s:每秒钟产生的主缺页数

pgfree/s:每秒被放入空闲队列中的页个数

pgscank/s:每秒被kswapd扫描的页个数

pgscand/s:每秒直接被扫描的页个数

pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数

%vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比

6 I/O和传送速率监控

例如,每10秒采样一次,连续采样3次,报告缓冲区的使用情况,需键入如下命令:

代码如下:

sar -b 10 3

屏幕显示如下:

18:51:05 tps rtps wtps bread/s bwrtn/s

18:51:15 000 000 000 000 000

18:51:25 192 000 192 000 2265

18:51:35 000 000 000 000 000

Average: 064 000 064 000 759

输出项说明:

tps:每秒钟物理设备的 I/O 传输总量

rtps:每秒钟从物理设备读入的数据总量

wtps:每秒钟向物理设备写入的数据总量

bread/s:每秒钟从物理设备读入的数据量,单位为 块/s

bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s

7 进程队列长度和平均负载状态监控

例如,每10秒采样一次,连续采样3次,监控进程队列长度和平均负载状态:

代码如下:

sar -q 10 3

屏幕显示如下:

19:25:50 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15

19:26:00 0 259 000 000 000

19:26:10 0 259 000 000 000

19:26:20 0 259 000 000 000

Average: 0 259 000 000 000

输出项说明:

runq-sz:运行队列的长度(等待运行的进程数)

plist-sz:进程列表中进程(processes)和线程(threads)的数量

ldavg-1:最后1分钟的系统平均负载(System load average)

ldavg-5:过去5分钟的系统平均负载

ldavg-15:过去15分钟的系统平均负载

8 系统交换活动信息监控

例如,每10秒采样一次,连续采样3次,监控系统交换活动信息:

代码如下:

sar - W 10 3

屏幕显示如下:

19:39:50 pswpin/s pswpout/s

19:40:00 000 000

19:40:10 000 000

19:40:20 000 000

Average: 000 000

输出项说明:

pswpin/s:每秒系统换入的交换页面(swap page)数量

pswpout/s:每秒系统换出的交换页面(swap page)数量

9 设备使用情况监控

例如,每10秒采样一次,连续采样3次,报告设备使用情况,需键入如下命令:

代码如下:

# sar -d 10 3 –p

屏幕显示如下:

17:45:54 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util

17:46:04 scd0 000 000 000 000 000 000 000 000

17:46:04 sda 000 000 000 000 000 000 000 000

17:46:04 vg_livedvd-lv_root 000 000 000 000 000 000 000 000

17:46:04 vg_livedvd-lv_swap 000 000 000 000 000 000 000 000

其中:

参数-p可以打印出sda,hdc等磁盘设备名称,如果不用参数-p,设备节点则有可能是dev8-0,dev22-0

tps:每秒从物理磁盘I/O的次数多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的

rd_sec/s:每秒读扇区的次数

wr_sec/s:每秒写扇区的次数

avgrq-sz:平均每次设备I/O操作的数据大小(扇区)

avgqu-sz:磁盘请求队列的平均长度

await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒)

svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间

%util:I/O请求占CPU的百分比,比率越大,说明越饱和

(1) avgqu-sz 的值较低时,设备的利用率较高。

(2) 当%util的值接近 100% 时,表示设备带宽已经占满。

10、要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来

怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看

怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看

怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

11、利用sar来做个后台监控程序,可以实时汇报机器性能情况。sar能放后台运行么

借助linux的后台符就可以了,别忘了把标准输出重定向哦,方法是这样的:

代码如下:

sar -o monitorres interval count /dev/null 21

记得把interval和count都替换为你想要的间隔和次数。这样所有的性能信息就全都存入二进制格式的数据文件monitorres里了。当读取时使用-f就可以了。

12、sar分析网卡流量

代码如下:

sar -n { DEV | EDEV | NFS | NFSD | SOCK | ALL }

sar 提供六种不同的语法选项来显示网络信息。-n选项使用6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。

如果你使用DEV关键字,那么sar将汇报和网络设备相关的信息,如lo,eth0或eth1等,例如

代码如下:

#sar -n DEV 2 10

Linux 2618-53el5PAE (localhostlocaldomain) 03/29/2009

01:39:40 AM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s

01:39:42 AM lo 000 000 000 000 000 000 000

01:39:42 AM eth1 13134 10498 11970448 3611045 000 000 000

01:39:42 AM sit0 000 000 000 000 000 000 000

01:39:42 AM IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s

01:39:44 AM lo 000 000 000 000 000 000 000

01:39:44 AM eth1 16800 16550 11449650 8393850 000 000 000

01:39:44 AM sit0 000 000 000 000 000 000 000

IFACE:LAN接口,网络设备的名称

rxpck/s:每秒钟接收的数据包

txpck/s:每秒钟发送的数据包

rxbyt/s:每秒钟接收的字节数

txbyt/s:每秒钟发送的字节数

rxcmp/s:每秒钟接收的压缩数据包

txcmp/s:每秒钟发送的压缩数据包

rxmcst/s:每秒钟接收的多播数据包

使用EDEV关键字,那么会针对网络设备汇报其失败情况,例如:

代码如下:

#sar -n EDEV 2 10

Linux 2618-53el5PAE (localhostlocaldomain) 03/29/2009

01:42:18 AM IFACE rxerr/s txerr/s coll/s rxdrop/s txdrop/s txcarr/s rxfram/s rxfifo/s txfifo/s

01:42:20 AM lo 000 000 000 000 000 000 000 000 000

01:42:20 AM eth1 000 000 000 000 000 000 000 000 000

01:42:20 AM sit0 000 000 000 000 000 000 000 000 000

IFACE:LAN接口网络设备的名称

rxerr/s:每秒钟接收的坏数据包

txerr/s:每秒钟发送的坏数据包

coll/s:每秒冲突数

rxdrop/s:因为缓冲充满,每秒钟丢弃的已接收数据包数

txdrop/s:因为缓冲充满,每秒钟丢弃的已发送数据包数

txcarr/s:发送数据包时,每秒载波错误数

rxfram/s:每秒接收数据包的帧对齐错误数

rxfifo/s:接收的数据包每秒FIFO过速的错误数

txfifo/s:发送的数据包每秒FIFO过速的错误数

使用SOCK关键字,则会针对socket连接进行汇报:

代码如下:

#sar -n SOCK 2 10

Linux 2618-53el5PAE (localhostlocaldomain) 03/29/2009

01:44:32 AM totsck tcpsck udpsck rawsck ip-frag

01:44:34 AM 243 9 8 0 0

01:44:36 AM 242 9 7 0 0

01:44:38 AM 238 9 7 0 0

01:44:40 AM 238 9 7 0 0

totsck:使用的套接字总数量

tcpsck:使用的TCP套接字数量

udpsck:使用的UDP套接字数量

rawsck:使用的raw套接字数量

ip-frag:使用的IP段数量

如果你使用FULL关键字,相当于上述DEV、EDEV和SOCK三者的综合

1、首先是对于CPU的说明

服务器CPU性能参数主要信息可以通过查看 /proc/cpuinfo 获得。具体查看指令及效果如下:

显示这台服务器上有2个物理CPU

显示这台服务器的物理核数为16个

显示运行模式为64位

显示为Intel(R) Xeon(R) Gold 6226R CPU @ 290GHz

命令:

显示此服务器的线程数为64

top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器。下面详细介绍它的使用方法。top是一个动态显示过程,即可以通过用户按键来不断刷新当前状态如果在前台执行该命令,它将独占前台,直到用户终止该程序为止比较准确的说,top命令提供了实时的对系统处理器的状态监视它将显示系统中CPU最“敏感”的任务列表该命令可以按CPU使用内存使用和执行时间对任务进行排序;而且该命令的很多特性都可以通过交互式命令或者在个人定制文件中进行设定

1.命令格式:

top [参数]

2.命令功能:

显示当前系统正在执行的进程的相关信息,包括进程ID、内存占用率、CPU占用率等

3.命令参数:

-b 批处理

-c 显示完整的治命令

-I 忽略失效过程

-s 保密模式

-S 累积模式

-i<时间> 设置间隔时间

-u<用户名> 指定用户名

-p<进程号> 指定进程

-n<次数> 循环显示的次数

4.使用实例:

实例1:通过 Top 命令显示进程信息

命令:

统计信息区:

前五行是当前系统情况整体的统计信息区。下面我们看每一行信息的具体意义。

第一行,任务队列信息,同 uptime 命令的执行结果,具体参数说明情况如下:

10:38:58 — 当前系统时间

up 39 days, 19:47 — 系统已经运行了39天19小时47分钟(在这期间系统没有重启过的吆!)

1 users — 当前有1个用户登录系统

load average: 000, 000, 000 — load average后面的三个数分别是1分钟、5分钟、15分钟的负载情况。

load average数据是每隔5秒钟检查一次活跃的进程数,然后按特定算法计算出的数值。如果这个数除以逻辑CPU的数量,结果高于5的时候就表明系统在超负荷运转了。

第二行,Tasks — 任务(进程),具体信息说明如下:

系统现在共有769个进程,其中处于运行中的有1个,463个在休眠(sleep),stoped状态的有0个,zombie状态(僵尸)的有0个。

第三行,cpu状态信息,具体属性说明如下:

00%us — 用户空间占用CPU的百分比。

00% sy — 内核空间占用CPU的百分比。

00% ni — 改变过优先级的进程占用CPU的百分比

1000% id — 空闲CPU百分比

00% wa — IO等待占用CPU的百分比

00% hi — 硬中断(Hardware IRQ)占用CPU的百分比

00% si — 软中断(Software Interrupts)占用CPU的百分比

备注:在这里CPU的使用比率和windows概念不同,需要理解linux系统用户空间和内核空间的相关知识!

第四行,内存状态,具体信息如下:

65600012k total — 物理内存总量

1785256k used — 使用中的内存总量

62385920k free — 空闲内存总量

1428836k buffers — 缓存的内存量

第五行,swap交换分区信息,具体信息说明如下:

2097148k total — 交换区总量

918340k used — 使用的交换区总量

1178808k free — 空闲交换区总量

备注:

第四行中使用中的内存总量(used)指的是现在系统内核控制的内存数,空闲内存总量(free)是内核还未纳入其管控范围的数量。纳入内核管理的内存不见得都在使用中,还包括过去使用过的现在可以被重复利用的内存,内核并不把这些可被重新使用的内存交还到free中去,因此在linux上free内存会越来越少,但不用为此担心。

对于内存监控,在top里我们要时刻监控第五行swap交换分区的used,如果这个数值在不断的变化,说明内核在不断进行内存和swap的数据交换,这是真正的内存不够用了。

第六行,空行。

第七行以下:各进程(任务)的状态监控,项目列信息说明如下:

PID — 进程id

USER — 进程所有者

PR — 进程优先级

NI — nice值。负值表示高优先级,正值表示低优先级

VIRT — 进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

RES — 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

SHR — 共享内存大小,单位kb

S — 进程状态。D=不可中断的睡眠状态 R=运行 S=睡眠 T=跟踪/停止 Z=僵尸进程

%CPU — 上次更新到现在的CPU时间占用百分比

%MEM — 进程使用的物理内存百分比

TIME+ — 进程使用的CPU时间总计,单位1/100秒

COMMAND — 进程名称(命令名/命令行)

或者通过 free 命令显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区内存。

命令:

显示我当前的服务器的物理内存是62G,其中交换内存是2个G,一共剩余是60G的

三、查看Linux内核当前的系统版本号

命令:

显示的当前的服务器Linux内核是Ubuntu系统,版本号是18046

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 有什么监控Linux服务器的工具吗?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情