Linux下20个常用Linux性能监控工具/命令

2023-11-17

此文章不作为商业用途,纯粹的用来学习

20个常用Linux性能监控工具/命令

对于 Linux/Unix 系统管理员非常有用的并且最常用的20个命令行系统监视工具。这些命令可以在所有版本的 Linux 下使用去监控和查找系统性能的实际原因。这些监控命令足够你选择适合你的监控场景。

1.top — Linux 系统进程监控

top 命令是性能监控程序,它可以在很多 Linux/Unix 版本下使用,并且它也是 Linux 系统管理员经常使用的监控系统性能的工具。Top 命令可以定期显示所有正在运行和实际运行并且更新到列表中,它显示出 CPU 的使用、内存的使用、交换内存、缓存大小、缓冲区大小、过程控制、用户和更多命令。它也会显示内存和 CPU 使用率过高的正在运行的进程。当我们对 Linux 系统需要去监控和采取正确的行动时,top 命令对于系统管理员是非常有用的。让我们看下 top 命令的实际操作。

 
  1. # top 

 

2.vmstat — 虚拟内存统计

vmstat 命令是用于显示虚拟内存、内核线程、磁盘、系统进程、I/O 模块、中断、CPU 活跃状态等更多信息。在默认的情况下,Linux 系统是没有 vmstat 这个命令的,如果你要使用它,必须安装一个包名叫 sysstat 的程序包。命令格式常用用法如下:

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

3.lsof — 打开文件列表

lsof 命令对于很多 Linux/Unix 系统都可以使用,主要以列表的形式显示打开的文件和进程。

打开的文件主要包括磁盘文件、网络套接字、管道、设备和进程。使用这个命令的主要原因是一个一个盘不能卸载并且显示文件正在使用或者打开的错误信息。这个命令很容易看出哪些文件正在使用。这个命令最常用的格式:

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

4.tcpdump — 网络数据包分析器

tcpdump 是一种使用最广泛的命令行网络数据包分析器或数据包嗅探程序,主要用于捕获和过滤 TCP/IP 包收到或者转移在一个网络的特定借口信息。它也提供了一个选项参数去保存将捕获的包在一个文件中用于以后分析使用,tcpdump 几乎在所有的 Linux 版本中都是可用的。

 
  1. # tcpdump -i eth0 
  2. tcpdump: verbose output suppressed, use -v or -vv for full protocol decode 
  3. listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 
  4. 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 
  5. 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 
  6. 22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347 

5.netstat — 网络统计

netstat 命令是一个监控网络数据包传入和传出的统计界面的命令行工具。它对于许多系统管理员去监控网络性能和解决网络相关问题是一个非常有用的工具。

 
  1. # tcpdump -i eth0 
  2. tcpdump: verbose output suppressed, use -v or -vv for full protocol decode 
  3. listening on eth0, link-type EN10MB (Ethernet), capture size 96 bytes 
  4. 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 
  5. 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 
  6. 22:08:59.617916 IP 115.113.134.3.static-mumbai.vsnl.net.in.28472 > tecmint.com.ssh: . ack 116 win 64347 

6.htop — 进程监控

htop 是一个更加先进的交互式的实时监控工具。htop 与 top 命令非常相似,但是他有一些非常丰富的功能,如用户友好界面管理进程、快捷键、横向和纵向进程等更多的。htop 是一个第三方工具并不包括在 Linux 系统中,你需要使用包管理工具进行安装。

 
  1. # htop

7.iotop — 监控 Linux 磁盘 I/O

iotop 也是和 top 和 htop 命令相似,但是它会有一个报告功能去监控和显示实时的磁盘 I/O 输入和输出的程序进程。这个工具对于查找精确的高的磁盘读/写过程是非常有用的。

 
  1. # htop 

   

8.iostat — 输入/输出统计

iostat 是收集和展示系统输入和输出存储设备统计的简单工具。这个工具通常用于查找存储设备性能问题,包括设备、本地磁盘、例如 NFS 远程磁盘。

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

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

IPTraf 是一个基于开源的 Linux 系统实时网络(IP 网络)监测的工具。它能收集到各种各样的信息,如通过网络对 IP 流量监测,包括 TCP 标志信息、ICMP 详细细节、TCP/UDP 流量故障、TCP 连接的数据包和拜恩计数。并且它还收集 TCP,UDP,ICMP,IP,非 IP,IP 校验错误,界面活性等一般信息和详细信息的接口统计数据。 

 

10.Psacct 或者 Acct — 监视用户活动

Psacct 或者 Acct 是用于监测每个用户对系统的活跃状态的一个非常有用的工具。在后台有两个守护进程在运行,一个是密切关注系统上每个用户的整体活动,另一个进程关注有哪些资源被它们消耗。

这个工具对于系统管理员是非常有用的去跟踪每个用户的活动,可以知道用户正在做什么,发出了什么样的命令,占用了多少资源,多长时间活跃在系统上。

11.Monit — 程序和服务监测

这是一个免费的开源的基于 Web 程序的自动监控和管理系统进程、程序、文件、目录、权限、校验文件系统。它监控的服务包括 Apache、MYSQL、Mail、FTP、Nginx 等等。系统状态是可以从命令行或者自己的网络接口来查看。

 

12.NetHogs — 监视每个进程的网络带宽

NetHogs 是一个开源的漂亮的小程序(类似于 Linux 上面的 top 命令),在您的系统上保持每个进程的网络活动状态。它也保持了一个程序或者应用实时的网络流量带宽使用情况。

 

13.iftop — 网络带宽监控

iftop 是另一个基于终端的开源的系统监测工具,主要功能是通过你自己系统上的网络接口显示一个经常更新的网络带宽利用率的列表(即源主机和目的主机)。iftop监控的是网络的使用情况,而 top 监控的是 CPU 的使用情况。iftop 监视一个选定的接口并且显示两台主机之间当前宽带的使用情况。

 

14.Monitorix — 系统和网络监控

Monitorix 是一个尽可能多的在 Linux/Unix 上一个轻量级监控工具,主要设计是监控正在运行的系统和网络资源。它有一个内置的 HTTP web 服务去定期收集系统和网络信息并显示成图片。它可以监视系统的平均负载使用、内存的分配、磁盘驱动器、系统服务、网络端口、邮件统计(Sendmail、Postfix、Dovecot 等等)、MYSQL 数据库等等更多的服务。它的主要目的是监控整个系统的性能,并且有助于监测故障、瓶颈、异常活动等状况。 

 

15.Arpwatch — 以太网活动监控器

Arpwatch是一种用来监视 Linux 网络的以太网的网络流量的地址解析(网络地址转换)的一个程序。它一直随着网络时间戳的变化监视以太网流量和产生日志的 IP 和 MAC 地址对。当一个 IP 地址或 MAC 地址对发生变化的时候,它会发送电子邮件通知管理员。

并且,它在检测 ARP 攻击是非常有用的。

16.Suricata — 网络安全监控

Suricata 是一个高性能的开源的网络安全与入侵检测与预防 Linux、FreeBSD、Windows 等操作系统的监控工具。它是一个非营利基金 OISF(Open Information Security Foundation)拥有的。

17.VnStat PHP — 监测网络带宽

VnStat PHP 是一个 Web 前端应用最流行的社交工具叫“vnstat”。 VnStat PHP 使用了很好的图形模式监控网络流量的使用情况。它显示了每时、每天、每月的总结报告中的网络流量使用情况。

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

Nagios 是一个领先的开源的强大的监控系统,网络/系统管理员在他们影响主要业务流程之前识别和解决服务器相关的问题。Nagios 可以监控远程 Linux、Windows、开关、单窗口的路由器和打印机。它能显示你的网络和服务器关键的告警,有利于在错误反生之前帮助你解决问题。

19.Nmon — 监控Linux系统性能

Nmon(即奈吉尔性能监视器)工具用来监视 Linux 系统的所有资源包括:CPU、内存、磁盘使用率、网络上的进程、NFS、内核等等。这个工具有两个模式:即在线模式和捕捉模式。在线模式适用于实时监控,捕捉模式用于存储输出为 CSV 格式后的处理。

 

20.Collectl — 一体化性能检测工具

Collectl 是另一个功能强大的基于命令行的监控工具,它可用于收集有关系统资源的信息,包括 CPU 使用率、内存、网络、节点、进程、NFS、TCP 套接等等。

 

我们想知道你使用什么样的监控程序来监控你的服务器性能?如果我们错过你想要的任何工具,请通过评论告知我们,并且不要忘记分享他。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux下20个常用Linux性能监控工具/命令 的相关文章

  • nginx请求超时设置

    默认60秒超时 http 配置在该区域会影响所有的server块 以下解决504问题 proxy connect timeout 300 单位秒 默认60 proxy send timeout 300 单位秒 默认60 proxy read
  • Mac/MacBookPro解决运行卡顿问题(非配置问题)

    Mac在升级后可能会出现莫名其妙的卡顿 运行缓慢等问题 如果遇到这种问题可以尝试以下几种方法恢复下 一 以安全模式启动 1 重新启动Mac 然后立即按住Shift键 显示屏上将出现Apple标志 2 看到登录窗口后松开Shift键 3 如果
  • 大厂Code Review 流程

    提交cr的流程 检查代码风格 可以安装googlestyle或者Alibaba的一些stylecheck工具 也许各开发团队会有自己的风格规范 从mainline中同步代码 注意使用 git pull rebase 而不是 git pull
  • 二叉树——初识

    链表 gt 二叉树 gt 二叉查找树 gt 平衡二叉树 二叉树时间复杂度 O logn 即2 x 树的深度 N 如 21亿点需要查找几次 2 32 21亿 查找32次 1 满二叉树 2 完全二叉树 设二叉树的深度为h 除第 h 层外 其它各
  • ⛳ Git安装与配置

    Git安装配置目录 Git安装与配置 一 git的安装 1 下载git 2 下载完成之后 双击安装即可 3 更改安装目录 没有中文且没有空格 4 所有设置选择默认设置即可 5 最后 点击Fanish 完成安装 二 检查Git版本 三 配置
  • Python 配置文件(.ini、 .conf、 .cfg)的读写

    python读取配置文件两个常用模块 ConfigParser和configobj模块 1 对比 ConfigParser的一些问题 不能区分大小写 重新写入的配置文件不能保留原有配置文件的注释 重新写入的配置文件不能保持原有的顺序 不支持
  • keil5中添加lpc213x系列芯片

    好久不见 keil5中添加lpc213x芯片 1 首先下载keil5 网上资料很多 这里就不再多述了 2 然后去这个网站 http www2 keil com mdk5 legacy 这里要注意 安装的位置要是你keil5文件的位置 3 重
  • F分布是由两个独立的卡方分布的比值所得到的分布

    import numpy as np from scipy stats import f F分布 分析两个正态分布方差比值的分布情况 F分布是由两个独立的卡方分布的比值所得到的分布 检验两个样本方差是否相等 常被用于统计分析 财务分析 市场
  • 如何实现两个数据库之间表的同步更新(增,删,改)

    这里如果知道触发器的使用方法的话 解决这个问题就很简单了 触发器 就是 种特殊的存储过程 触发器和存储过程 样是 个能够完成特定功能 存储在数据库服务器上的SQL 段 但是触发器 需调 当对数据表中的数据执 DML操作时 动触发这个SQL
  • 关于fft那些简单却难的问题们

    目录 1 傅里叶变换定义 2 频率轴设置 3 频谱幅度 4 频谱混叠 5 频谱泄露 6 频谱相位 傅里叶变换方法认为任意一个具有连续周期的信号可以根据一组由正弦和余弦曲线构成的三角函数的曲线组合而成或任意逼近 经过长期以来的发展 傅里叶变换
  • DBSCAN的理解和matlab实现

    DBSCAN是基于密度的聚类算法 以下总结一下编写matlab时遇到的一些问题 1 算法的基本流程 步骤1 首先初始化变量 主要包括原始数据变量 此处为一个二维矩阵 包括x y坐标 共1500个采样点 由randmperm生成的随机标签向量
  • JS判断汉字

    方法一 最笨的 最容易理解的 且可以随意设置要排除的字符
  • IDEA下SpringBoot指定环境、配置文件启动

    1 idea下的SpringBoot启动 指定配置文件 Springboot项目有如下配置文件 主配置文件application yml 测试环境 application test yml 生产环境 application pro yml
  • C++查找算法总结(可执行代码)

    1 顺序查找 核心 从数据的第一个元素开始 依次比较 直到找到目标数据或查找失败 1 从表中的第一个元素开始 依次与关键字比较 2 若某个元素匹配关键字 则 查找成功 3 若查找到最后一个元素还未匹配关键字 则 查找失败 时间复杂度 顺序查
  • HTTP与HTTPS的区别,HTTPS的工作原理及优缺点

    为什么要有HTTPS 超文本传输协议HTTP协议被用于在web服务器和网站服务器之间传递消息 HTTP协议以明文方式发送内容 不提供任何方式的数据加密 如果攻击者截取了web浏览器和网站服务器之间的传输报文 就可以直接读懂其中的信息 因此
  • 逍遥模拟器android4.0版本,【逍遥安卓模拟器最新版】逍遥安卓模拟器官方下载 v7.2.1.0 电脑版-开心电玩...

    软件介绍 逍遥安卓模拟器最新版是一款性能卓佳的安卓模拟器 拥有市场上流行的安卓游戏 程序 应用 用户可以通过逍遥安卓模拟器运行这些 能够一键多开游戏 从而让用户能够更加便捷的运行多个手游 相对于市面其余的安卓模拟器性能更加优化 运行安卓程序
  • 41.QT-多线程与界面之间交互总结

    1 线程与界面组件需要注意的地方 在QThread线程中不能直接创建QWidget之类的界面组件 因为在QT中 所有界面组件相关的操作都必须在主线程中 也就是GUI thread 所以 QThread线程不能直接操作界面组件 2 QThre
  • 接口-Web Service接口

    1 Web Service的使用背景 当前除了HTTP接口很流行以外 另一个常见使用的接口是Web Service接口 在介绍Web Service接口前先来介绍下SOA SOA Service Oriented Ambiguity 即面向
  • element-ui使用总结

    1 input输入框 自定义图标 前部效果图

随机推荐