对 于系统和网络管理员来说每天监控和调试Linux系统的性能问题是一项繁重的工作。在IT领域作为一名Linux系统的管理员工作5年后,我逐渐认识到监 控和保持系统启动并运行是多么的不容易。基于此原因,我们已编写了最常使用的18个命令行工具列表,这些工具将有助于每个Linux/Unix 系统管理员的工作。这些命令行工具可以在各种Linux系统下使用,可以用于监控和查找产生性能问题的原因。这个命令行工具列表提供了足够的工具,您可以 挑选适用于您的监控场景的工具。

1.Top-Linux进程监控

Linux下的Top命令是一个性能监控程序,许多系统管理员常常用它来监控Linux性能,在许多Linux或者类Unix操作系统里都有这个命令。Top命令用于按一定的顺序显示所有正在运行而且处于活动状态的实时进程,而且会定期更新显示结果。这条命令显示了CPU的使用率、内存使用率、交换内存使用大小、高速缓存使用大小、缓冲区使用大小,进程PID、所使用命令以及其他。它还可以显示正在运行进程的内存和CPU占用多的情况。对系统管理员来说,top命令式是一个非常有用的,它可用于监控系统并在需要的时候采取正确的处理动作。让我们看看实际中的top命令。

# top

 Top命令举例 
有关Top命令更多的例子,请阅读 :Linux下12个使用Top命令的例子。

2. VmStat – 虚拟内存统计

Linux 的 VmStat 命令用于显示虚拟内存、内核线程、磁盘、系统进程、I/O 块、中断、CPU 活动 等的统计信息。缺省情况下, vmstat 命令在 Linux 系统下不可用,你需要安装一个包含了 vmstat 程序的 sysstat 软件包。命令格式的常见用法是:

# vmstat
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st1  0      0 810420  97380  70628    0    0   115     4   89   79  1  6 90  3  0

更多的 vmstat 例子,请阅读 : 6 Linux 下的 Vmstat 命令实例

3.Lsof-列出打开的文件

在许多Linux或者类Unix系统里都有lsof命令,它常用于以列表的形式显示所有打开的文件和进程。打开的文件包括磁盘文件、网络套接字、管道、设备和进程。使用这条命令的主要情形之一就是在无法挂载磁盘和显示正在使用或者打开某个文件的错误信息的时候。使用这条命令,你可以很容易地看到正在使用哪个文件。这条命令最常用的格式如下:

# lsof
COMMAND     PID      USER   FD      TYPE     DEVICE     SIZE       NODE NAME
init          1      root  cwd       DIR      104,2     4096          2 /
init          1      root  rtd       DIR      104,2     4096          2 /
init          1      root  txt       REG      104,2    38652   17710339 /sbin/init
init          1      root  mem       REG      104,2   129900     196453 /lib/ld-2.5.so
init          1      root  mem       REG      104,2  1693812     196454 /lib/libc-2.5.so
init          1      root  mem       REG      104,2    20668     196479 /lib/libdl-2.5.so
init          1      root  mem       REG      104,2   245376     196419 /lib/libsepol.so.1
init          1      root  mem       REG      104,2    93508     196431 /lib/libselinux.so.1
init          1      root   10u     FIFO       0,17                 953 /dev/initctl

有关lsof命令的用法和例子的更多信息,请参考: Linux下10个使用lsof命令的例子。

4.Tcpdump-网络包分析器

Tcpdump是最广泛使用的网络包分析器或者包监控程序之一,它用于捕捉或者过滤网络上指定接口上接收或者传输的TCP/IP包。它还有一个选项用于把捕捉到的包保存到文件里,以便以后进行分析。在几乎所有主要的Linux发布里,tcpdump都可以使用。

# tcpdump -i eth0tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes
22:08:59.617628 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 2532133365:2532133481(116) ack 3561562349 win 9648
22:09:07.653466 IP tecmint.com.ssh > 115.113.134.3.static-mumbai.vsnl.net.in.28472: P 116:232(116) ack 1 win 9648
22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347

要想获得更多有关tcpdump用法的信息,请参阅: Linux下12个使用Tcpdump命令的例子。

5.Netstat-网络状态统计

Netstat是一个用于监控进出网络的包和网络接口统计的命令行工具。它是一个非常有用的工具,系统管理员可以用来监控网络性能,定位并解决网络相关问题。

# netstat -a | moreActive Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State
tcp        0      0 *:mysql                     *:*                         LISTEN
tcp        0      0 *:sunrpc                    *:*                         LISTEN
tcp        0      0 *:realm-rusd                *:*                         LISTEN
tcp        0      0 *:ftp                       *:*                         LISTEN
tcp        0      0 localhost.localdomain:ipp   *:*                         LISTEN
tcp        0      0 localhost.localdomain:smtp  *:*                         LISTEN
tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42709 TIME_WAIT
tcp        0      0 localhost.localdomain:smtp  localhost.localdomain:42710 TIME_WAIT
tcp        0      0 *:http                      *:*                         LISTEN
tcp        0      0 *:ssh                       *:*                         LISTEN
tcp        0      0 *:https                     *:*                         LISTEN

有关Netstat更多的例子,请参阅: Linux下20个使用Netstat命令的例子。

6. Htop – Linux进程监控

Htop 是 一个非常高级的交互式的实时linux进程监控工具。 它和top命令十分相似,但是它具有更丰富的特性,例如用户可以友好地管理进程,快捷键,垂直和水平方式显示进程等等。 Htop是一个第三方工具,它不包含在linux系统中,你需要使用YUM包管理工具去安装它。 关于安装的更多信息,请阅读下文.

# htop

Htop 命令示例截图

对于Htop的安装,请读 : 在Linux安装Htop(Linux进程监控)

7.Iotop-监控Linux磁盘I/O

Iotop命令同样也非常类似于top命令和Htop程序,不过它具有监控并显示实时磁盘I/O和进程的统计功能。在查找具体进程和大量使用磁盘读写进程的时候,这个工具就非常有用。

# iotop

 Iotop命令举例的截图 
有关如何安装和使用iotop的信息,请阅读: 在Linux下安装Iotop。

8.Iostat-输入/输出统计

Iostat是一个用于收集显示系统存储设备输入和输出状态统计的简单工具。这个工具常常用来追踪存储设备的性能问题,其中存储设备包括设备、本地磁盘,以及诸如使用NFS等的远端磁盘。

# iostat
Linux 2.6.18-238.9.1.el5 (tecmint.com)         09/13/2012avg-cpu:  %user   %nice %system %iowait  %steal   %idle2.60    3.65    1.04    4.29    0.00   88.42Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
cciss/c0d0       17.79       545.80       256.52  855159769  401914750
cciss/c0d0p1      0.00         0.00         0.00       5459       3518
cciss/c0d0p2     16.45       533.97       245.18  836631746  384153384
cciss/c0d0p3      0.63         5.58         3.97    8737650    6215544
cciss/c0d0p4      0.00         0.00         0.00          8          0
cciss/c0d0p5      0.63         3.79         5.03    5936778    7882528
cciss/c0d0p6      0.08         2.46         2.34    3847771    3659776

有关iostat用法和举例的更多信息,请访问: Linux下6个使用iostat命令的例子。

9.IPTraf-实时局域网IP监控

IPTraf是一个在Linux控制台运行的、开放源代码的实时网络(局域网)监控应用。它采集了大量信息,比如通过网络的IP流量监控,包括TCP标记、ICMP详细信息、TCP/UDP流量分离、TCP连接包和字节数。同时还采集有关接口状态的常见信息和详细信息:TCP、UDP、IP、ICMP、非IP,IP校验和错误,接口活动等。

IP流量监控 
有关IPTraf工具用法以及其他更多信息,请访问: IPTraf网络监控工具。

10. psacct 或者 acct - 监视用户活动

psacct或者acct工具用于监视系统里每个用户的活动状况。这两个服务进程运行在后台,它们对系统上运行的每个用户的所有活动进行近距离监视,同时还监视这些活动所使用的资源情况。

系统管理员可以使用这两个工具跟踪每个用户的活动,比如用户正在做什么,他们提交了那些命令,他们使用了多少资源,他们在系统上持续了多长时间等等。

有关这些命令的安装和用法举例信息,请参阅文章:使用psacct或者acct监视用户活动。

11.Monit - Linux进程和服务监控工具

Monit是一个免费的开源软件,也是一个基于网络的进程监控工具。它能自动监控和管理系统进程,程序,文件,文件夹,权限,总和验证码和文件系统。

这个软件能监控像Apache, MySQL, Mail, FTP, ProFTP, Nginx, SSH这样的服务。你可以通过命令行或者这个软件提供的网络借口来查看系统状态。

Monit Linux系统监控

更多内容请参阅:用Monit监控Linux进程

12.NetHogs-监视每个进程使用的网络带宽

NetHogs是一个开放源源代码的很小程序(与Linux下的top命令很相似),它密切监视着系统上每个进程的网络活动。同时还追踪着每个程序或者应用所使用的实时网络带宽。

NetHogs:Linux下的带宽监视 
更多信息请参阅: 使用NetHogs监视Linux的网络带宽使用状况。

13.iftop-监视网络带宽

iftop是另一个在控制台运行的开放源代码系统监控应用,它显示了系统上通过网络接口的应用网络带宽使用(源主机或者目的主机)的列表,这个列表定期更新。iftop用于监视网络的使用情况,而'top'用于监视CPU的使用情况。iftop是'top'工具系列中的一员,它用于监视所选接口,并显示两个主机间当前网络带宽的使用情况。

iftop-监视网络带宽。

更多信息请参阅:iftop-监视网络带宽的使用情况。

14 Monitorix-系统和网络监控

Monitorix 是一个免费的轻量级应用工具,它的设计初衷是运行和监控Linux/Unix服务器系统和资源等。它有一个HTTP 网络服务器,这个服务器有规律的收集系统和网络的信息并以图形化的形式展示出来。它监控系统的平均负载和使用,内存分配、磁盘健康状况、系统服务、网络端 口、邮件统计(Sendmail,Postfix,Dovecot等),MySQL统计,等等。它就是用来监控系统的总体性能,帮助发现失误、瓶颈和异常 活动的。

15. Arpwatch – 以太网活动监视器

Arpwatch被设计用来监控Linux上的以太网地址解析 (MAC和IP地址的变化)。他在一段时间内持续监控以太网活动并输出IP和MAC地址配对变动的日志。它还可以向管理员发送邮件通知,对地址配对的增改发出警告。这对于检测网络上的ARP攻击很有用。

更多信息请参阅 : Arpwatch to Monitor Ethernet Activity

16. Suricata – 网络安全监控

Suricata 是一个开源的高性能网络安全、入侵检测和反监测工具,可以运行Linux、FreeBSD和Windows上。非营利组织OISF (Open Information Security Foundation)开发并拥有其版权。

更多信息请参阅 : Suricata – A Network Intrusion Detection and Prevention System

17. VnStat PHP – 网络流量监控

VnStat PHP 是流行网络工具"vnstat"的基于web的前端呈现。VnStat PHP 将网络使用情况呈现在漂亮的图形界面中。他可以显示以小时、日、月计的上传和下载流量并输出总结报告。

更多信息请参阅 : VnStat PHP – Monitoring Network Bandwidth

18. Nagios – 网络/服务器监控

Nagios 是领先而强大的开源监控系统,他可以让网络 /系统管理员在问题影响到正常的业务之前发现并解决它们。有了Nagios系统,管理员可以在单个窗口内远程检测Linux、Windows、开关、路由 器和打印机。它可以危险警告并指出系统/服务器是否有异常,这可以间接帮助你在问题发生之前采取抢救措施。

性能测试之开源的性能监控软件相关推荐

  1. zabbix 监控 db2_二十多款开源的服务器监控软件,你用过几款? – 阿汤博客

    1.Conky Conky能在多个的平台上运行,像Windows,Linux,Mac OS,大多数BSD都可以.它有简单的文本.总线进度条,图形窗口不同字体和颜色来显示信息,用户界面简单,300多个内 ...

  2. 源支付3.1版本全开源版+店员监控软件+监控APP源码

    1.新建一个网站,解压,环境选择PHP7.2 网站运行目录public 伪静态选择thinkphp 2.安装完网站后打开终端,执行以下命令 sudo rpm -Uvh https://packages ...

  3. 乐维百科:八大开源运维监控软件浅析

    前面的乐维百科文章介绍了什么是IT监控.为什么IT运维需要监控及如何监控的问题,接下来我们来看一下常见的开源监控软件. 之所以特别强调开源监控,是因为在运维监控的实际应用中,开源监控平台占据了很大一部 ...

  4. 免费/开源的视频监控软件

    在中文网站里找一个免费的视频监控软件还真不容易,随便一搜出来都是收费的,而且功能还不咋滴.转到国外网站,别说是免费的,开源的软件功能都杠杠地. (1)ZoneMinder : the top Linu ...

  5. 性能测试之LoardRunner 测试场景监控关注的几点

    1.系统业务处理能力,即通常我们在进行性能测试的时候,在特定的硬件和软件环境下考察的业务处理能力,即"事物",需要关注当前.平时.峰值以及长远未来业务发展情况,考虑不同业务的处理数 ...

  6. 性能测试之cpu的性能诊断

    一,CPU基本知识 测试中CPU诊断是重要的性能指标, CPU是代码打交道最多的硬件之一,要想一个CPU工作就需要提供一些指令和数据,一般放在内存中,其中指令一般都是由代码编译而来,数据也是代码中需用 ...

  7. 源支付3.1版本全开源版+店员监控软件+手机监控APP源码

    ☑️ 编号:ym311 ☑️ 品牌:无 ☑️ 语言:PHP ☑️ 大小:235MB ☑️ 类型:源支付 ☑️ 支持:app

  8. docker开源系统监控软件Nagios

    开源的系统监控软件 下面整理了3个: 1.Zabbix 2.Nagios 3.Open-Falcon 这位博主进行的完整的介绍: https://www.cnblogs.com/linuxandy/p ...

  9. 手机视频监控软件功能需求

    一.手机监控软件功能需求 1.1 功能概述 手机监控软件,可以通过登陆手机视频流媒体,获取其转发的设备的码流进行解码输出到手机屏幕上(Windows Mobile手机能够自动拨号连接上网络). 主要功 ...

最新文章

  1. HDU 4888 Redraw Beautiful Drawings(网络流求矩阵的解)
  2. Netty专题-(2)NIO三大核心
  3. 外卖红包深度研究报告:千亿市场下的公号私域
  4. strlen函数_四种好用的PHP自定义加密函数(可逆/不可逆)
  5. PHP制作钱包银行金额数字展示功能实例
  6. linux android ndk
  7. 【资源下载】旷视研究院张祥雨valse2019报告PPT——高效轻量级深度模型的研究与实践
  8. 苹果AR/VR头显将通过Memojis和SharePlay支持FaceTime
  9. Docker部署nginx并修改配置文件
  10. Openstack Python 源代码的路径
  11. Linux yum安装unrar、rar
  12. 代码制作数字流星雨_JS+CSS实现流星雨的动画效果(代码)
  13. cad打开a3样板图形_cad a3图框下载-cada3标准图框模板 dwg版 - 河东下载站
  14. Unity DOTween插件和iTween插件使用(笔记)
  15. 数据字典的作用和定义(软件工程)
  16. HearthBuddy 召唤随从的问题
  17. Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight respon
  18. 在家就能拍,韩系证件照拍摄教程
  19. Nexus私服(三)
  20. 浙江省测绘与地理信息局异地备份和容灾项目

热门文章

  1. Git 历险记(三)——创建一个自己的本地仓库
  2. Know more about CBO Index Cost
  3. 凶猛的飞禽 超跑奥迪
  4. java异常处理之throw, throws,try和catch
  5. 《C语言编程初学者指南》一1.5 使用程序语句
  6. 根据空间线上的两点生成圆柱体 算法
  7. DOM4J_Xpath的XML操作总结
  8. 【Android开发】范例1-实现带描边的圆角图片
  9. Block变量的的用法,使你的程序看起来清晰明了!
  10. Excel和数据库的导入与导出