20 个监控 Linux 性能的命令行工具

Tutorial/教程 20 个监控 Linux 性能的命令行工具

Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!
  • 很荣幸 游客 的到来!开始前请阅读 社区规则 确保您顺利的熟悉本社区。注册用户可以提交资源,如果您有已发布资源的新版本,您可以随时更新版本!

    文件链接损坏,请在文件下方留言,我们将会及时更新来自备份服务器的新链接。

  • 我们拥有多账户检测系统,对于重复注册我们将采取严厉措施!提示:如果您的账户超过180天处于非活动状态,系统将自动删除您的账户!

    We have a multi account detection system, and we will take strict measures against duplicate registrations! Tip: If your account has been inactive for more than 180 days, the system will automatically delete your account!

oksgo

Administrator

管理成员
贡献: 25%
注册
10 16, 2023
消息
1,351
G
354 G
  • 主题 作者
  • #1

1. 顶部 – Linux​

顶部是底部。许多系统管理员经常使用 top 命令来监控Linux性能,并且在许多Linux /类 Unix 操作系统下都可用。

top命令用于以有序列表实时显示所有正在运行和活动的进程。它显示 CPU 使用情况、内存使用情况、交换内存使用情况、缓存大小、缓冲区大小、进程 PID、用户等。

top 命令对于系统管理员进行监控并在必要时采取适当的操作非常有用。让我们看看 top 命令的实际作用。

代码:
top

20 个监控 Linux 性能的命令行工具-1.webp


检查正在运行的Linux进程

2.VmStat——虚拟内存统计​

Linux VmStat命令用于显示有关虚拟内存、内核线程、磁盘、系统进程、I/O 块、中断、CPU 活动等的统计信息。

在Linux上安装 VmStat​

默认情况下,vmstat命令在Linux系统上不可用,因此您需要安装包含vmstat程序的sysstat包(一个强大的监控工具) 。 $ sudo yum install sysstat [在旧版CentOS / RHEL和 Fedora 上] $ sudo dnf install sysstat [在CentOS / RHEL /Fedora/Rocky Linux和 AlmaLinux 上] $ sudo apt-get install sysstat [在Debian / Ubuntu和 Mint 上] $ sudo pacman -S sysstat [在 Arch Linux上] 通常使用的命令格式是 vmstat







代码:
# vmstat

procs --------------内存---------- ---交换-- -----io---- -系统-- ------cpu -----
rb swpd 空闲 buff 缓存 si so bi bo 在 cs us sy id wa st
1 0 43008 275212 1152 561208 4 16 100 105 65 113 0 1 96 3 0
20 个监控 Linux 性能的命令行工具-2.webp


Vmstat系统监控工具

3. Lsof – 打开文件列表​

lsof命令在许多Linux /类 Unix 系统上使用,用于显示所有打开的文件和进程的列表。打开的文件包括磁盘文件、套接字、管道、设备和进程。

一个常见的错误是磁盘无法卸载并给出文件正在使用或打开的错误。使用lsof您可以轻松确定哪些文件正在使用。

最常见的 lsof 命令格式是:

代码:
# lsof

命令 PID TID TASKCMD 用户 FD 类型 设备大小/关闭 节点名称
systemd 1 root cwd DIR 8.2 224 128 /
systemd 1 root rtd DIR 8.2 224 128 /
systemd 1 root txt REG 8.2 1567768 134930842 /usr/lib/ systemd/systemd
systemd 1 root内存 REG 8.2 2714928 134261052 /usr/lib64/libm-2.28.so
systemd 1 根内存 REG 8.2 628592 134910905 /usr/lib64/libudev.so.1.6.11
systemd 1 根内存 REG 8.2 969832 134261204 /usr /lib64/libsepol。 so.1
systemd 1 根内存 REG 8.2 1805368 134275205 /usr/lib64/libunistring.so.2.1.0
systemd 1 根内存 REG 8.2 355456 134275293 r/ lib64/libpcap.so.1.9.0
systemd 1 根内存 REG 8.2 145984 134 261219 /usr/lib64/libgpg-error.so.0.24.2
systemd 1 根内存 REG 8.2 71528 134270542 /usr/lib64/libjson- c.so.4.0.0
systemd 1 根内存 REG 8.2 371736 134910992 /usr/lib64/libdevmapper .so.1.02
systemd 1 根内存 REG 8.2 26704 134275177 /usr/lib64/libattr.so.1.1.2448
systemd 1 根内存 REG 8.2 3058736 134919279 /usr/lib64/libcrypto.so.1.1.1c
...
20 个监控 Linux 性能的命令行工具-3.webp


Linux 中打开的文件列表

4. Tcpdump——网络数据包分析器​

tcpdump 命令是最常见的网络数据包分析器或数据包嗅探器程序之一,用于捕获或过滤网络上特定接口上接收或传输的 TCP/IP 数据包。

它还提供将捕获的数据包保存到文件以供以后分析的功能。 tcpdump 在几乎所有主要的Linux发行版上都可用。

代码:
# tcpdump -i enp0s3


tcpdump:抑制详细输出,使用 -v 或 -vv
在 enp0s3 上进行完整协议解码侦听,链接类型 EN10MB(以太网),捕获大小 262144 字节
10:19:34.635893 IP howtoing.ssh > 192.168.0.124.45611:标志 [ P.],seq 2840044824:2840045032,ack 4007244093
10:19:34.636289 IP 192.168.0.124.45611>howtoing.ssh:标志[.],ack 208,win 11768,选项
10:19:34.87 306 0 IP _gateway.57682> howtoing .netbios-ns:NBT UDP数据包(137):查询;要求; UNICAST
10:19:34.873104 IP howtoing > _gateway: ICMP howtoing udp 端口 netbios-ns 无法访问,长度 86
10:19:34.895453 IP _gateway.48953 > howtoing.netbios-ns: NBT UDP 数据包(137): 查询;要求; UNICAST
10:19:34.895501 IP howtoing > _gateway: ICMP howtoing udp 端口 netbios-ns 无法访问,长度 86
10:19:34.992693 IP 142.250.4.189.https > 192.168.0.124.38874: UDP,长度 45
10:19 : 35.010127IP 192.168.0.124.38874 > 142.250.4.189.https:UDP,长度 33
10:19:35.135578 IP _gateway.39383 > 192.168.0.124.netbios-ns:NBT UDP 数据包(137):查询;要求; UNICAST
10:19:35.135586 IP 192.168.0.124 > _gateway: ICMP 192.168.0.124 udp 端口 netbios-ns 无法访问,长度 86
10:19:35.155827 IP _gateway.57429 > 192.168.0.124.netbios-ns: N BT UDP 数据包(137) :询问;要求; UNICAST
10:19:35.155835 IP 192.168.0.124 > _gateway: ICMP 192.168.0.124 udp 端口 netbios-ns 无法访问,长度 86
...
20 个监控 Linux 性能的命令行工具-4.webp


Tcpdump – 网络数据包分析器

5.Netstat——网络统计​

netstat是一个命令行工具,用于监视传入和传出网络数据包统计信息和接口统计信息。对于每个系统管理员来说,它是一个非常有用的工具,可以监控网络性能并解决网络相关问题。

# netstat -a |更多
活动 Internet 连接(服务器和已建立)
Proto Recv-Q Send-Q 本地地址 外部地址 状态
tcp 0 0 0.0.0.0:sunrpc 0.0.0.0:* LISTEN tcp 0 0
howtoing:domain 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:ssh 0.0.0.0:* 监听
tcp 0 0 localhost :postgres 0.0.0.0:* 监听
tcp 0 0 howtoing:ssh 192.168.0.124:45611 已建立
tcp6 0 0 [::]:sunrpc [::]:* 监听
tcp6 0 0 [::]:ssh [::]:* 监听
tcp6 0 0 本地主机:postgres [::]:* 监听
udp 0 0 0.0.0.0:mdns 0.0.0.0:*
udp 0 0 本地主机:323 0.0.0.0 :*
udp 0 0 howtoing:domain 0.0.0.0:*
udp 0 0 0.0.0.0:bootps 0.0.0.0:*
udp 0 0 howtoing:bootpc _gateway:bootps 已建立
...
20 个监控 Linux 性能的命令行工具-5.webp


Netstat - Linux 网络连接监控
尽管 netstat 现已被弃用,取而代之的是 ss 命令,但您仍然可以在网络工具箱中找到 netstat。

6. Htop—— Linux​

htop 是一个先进的、交互式的、实时的Linux进程监控工具,它很像top命令,但有许多额外的好处,比如用户友好的进程管理界面、快捷键、垂直和水平进程视图,以及更多。

#htop
20 个监控 Linux 性能的命令行工具-6.webp


Htop - Linux 系统进程查看器
htop 是一个第三方工具,不随Linux系统一起提供,必须使用包管理器安装。

7.iotop——在Linux​

iotop 也与 top 和 htopiotop 命令非常相似,该实用程序允许您查看有关磁盘访问操作总数和当前数量的信息。

使用该实用程序,您可以了解当前正在使用磁盘的进程及其频率。访问过该实用程序显示的信息与 htop 实用程序类似;它显示磁盘写入和读取的活动、交换分区的使用情况、进程磁盘访问的完整统计信息等。

在Linux上安装 Iotop​

默认情况下,iotop 命令在Linux上不可用,您需要安装它:

$ sudo yum install iotop [On Older CentOS / RHEL & Fedora]
$ sudo dnf install iotop [On CentOS / RHEL /Fedora/Rocky Linux & AlmaLinux]
$ sudo apt- get install iotop [在Debian / Ubuntu和 Mint 上]
$ sudo pacman -S iotop [在 Arch Linux上]
通常使用以下格式的 iotop 命令。

# iotop
20 个监控 Linux 性能的命令行工具-7.webp


iotop - 监控Linux 中的磁盘 I/O 使用情况iotop
实用程序仅以管理员权限运行,因此我使用sudo来运行它: $ sudo iotop

8. iostat——I/O统计​

iostat是一个简单的工具,可以收集并显示基本的磁盘I/O参数、数据写入和读取速度以及写入或读取的数据量该工具通常用于跟踪存储设备性能问题,包括。

安装 Iostat​

安装iostat命令需要安装sysstat包,如图。

$ sudo yum install sysstat [在旧版CentOS / RHEL和 Fedora 上]
$ sudo dnf install sysstat [在CentOS / RHEL /Fedora/Rocky Linux和 AlmaLinux 上]
$ sudo apt-get install sysstat [在Debian / Ubuntu和 Mint 上]
$ sudo pacman -S sysstat [在 Arch Linux上]
iostat 命令通常使用以下格式。

# iostat
Linux 4.18.0-193.el8.x86_64 (howtoing) 04/05/2021 x86_64 (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.21 0.03 0.59 2.50 0.00 96.67
设备 tps kB_read /s kB_wrtn/s kB_read kB_wrtn
sda 3.95 83.35 89.63 1782431 1916653
20 个监控 Linux 性能的命令行工具-8.webp


iostat – 监控磁盘 I/O 统计数据

9. IPTraf – 实时IP LAN监控​

IPTraf 是一款适用于Linux的开源实时网络 (IP LAN) 控制台监控实用程序。它收集监控通过网络的 IP 流量等各种信息,包括 TCP 信息、ICMP 信息、TCP/UDP 流量、TCP 连接数据包和字节计数。

IPTraf允许系统管理员按协议查看网络数据包(通过网络接口传递)的统计数据、按网络数据包大小的统计数据以及当前接口带宽。

20 个监控 Linux 性能的命令行工具-9.webp


IPTraf IP网络监控器

10. Psacct 或 Acct – 监控用户活动​

psacct 或 acct 实用程序对于监视系统上每个用户的活动非常有用。这两个守护进程都在后台运行,帮助监视系统上每个用户的总体活动以及他们消耗的资源。

您可以看到用户正在做什么,正在执行什么命令,正在使用多少资源,在系统中活跃了多长时间等。

20 个监控 Linux 性能的命令行工具-10.webp


psacct – 监控Linux 用户活动

11.Monit——监控Linux​

Monit 是一款适用于Linux操作系统的免费开源主动监控实用程序。该实用程序允许您:

  • 通过记录文件权限、目录大小和校验和的变化来监视和控制系统进程、程序、文件、目录;
  • 停止资源密集型进程,重新启动已停止响应的服务并启动已停止的服务
  • 显示有关已监视的每个进程的状态以及操作系统为这些进程的运行分配的资源的信息;
它允许您监控 Apache、MySQL、Mail、FTP、ProFTP、Nginx、SSH 等服务。可以从命令行或使用用户友好的界面查看系统状态。

Monit 监控Linux系统


Monit 监控Linux系统

12. NetHogs - 监控每个进程的网络吞吐量​

NetHogs是一个小型开源程序(类似于Linux top 命令),用于监视系统上每个进程的网络活动。它还实时监控每个程序或应用程序使用的网络流量带宽。# nethogs

Nethogs 监控 Linux 中的网络流量


Nethogs 监控Linux 上的网络流量

13. iftop – 网络带宽监控​

iftop 是另一个免费的终端实用程序,用于监视接口级别的网络流量。 iftop 显示有关当前网络连接、数据传输、数据传输速度的信息,还显示建立连接的 IP 地址和端口。该实用程序是一个非常有用的工具,用于分析Linux系统上运行的服务器上的网络活动。

iftop类似于网络使用情况中的“top”,类似于“ top ”提供有关 CPU 使用情况的信息。

#iftop
iftop - 网络带宽监控


iftop - 网络带宽监控
如果您需要有关使用 iptop 的详细信息,请在命令行中键入:

$ man iftop

14. Monitorix – 监控系统和网络​

Monitorix 是一款免费的轻量级实用程序,旨在大规模运行和监控Linux /Unix 服务器的

系统和网络资源。 它有一个内置的HTTP Web服务器,定期收集系统和网络信息并以图表的形式显示。监控系统负载和使用情况、内存分配、磁盘驱动器状态、系统服务、网络端口、邮件统计(Sendmail、Postfix、Dovecot 等)、MySQL 统计等等。

它旨在监控系统的整体性能,并帮助检测系统运行中的故障、瓶颈、异常等。

Monitorix 监控


Monitorix 监控

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

Arpwatch 是一个旨在监控Linux网络上以太网流量的地址解析(MAC 和 IP 地址变化)的程序。

Arpwatch 创建观察到的 IP 和 MAC 地址配对的日志以及时间戳,以便您可以密切监控网络上何时出现配对活动。

当添加或更改配对时,该程序还能够通过电子邮件向网络管理员发送报告。

Arpwatch 工具对于监控 ARP 活动以检测 ARP 欺骗或意外的 IP/MAC 地址更改的网络管理员特别有用。

Arpwatch - 监控 ARP 流量


Arpwatch – ARP 流量监控

16. Suricata – 网络安全监控​

Suricata 是一款适用于LinuxFreeBSD和 Windows的高性能开源网络安全监控以及入侵检测和防御系统。

它由非营利组织 OISF(开放信息安全基金会)开发并拥有。

Ime

使 Suricata 能够使用 GPU 在 IDS 模式以及高级 IPS 中进行计算。该系统最初是为多线程设计的。

17. VnStat PHP – 网络带宽监控​

vnStat PHP 是 vnStat 的 Web 界面,vnStat 是Linux系统的带宽监控工具。 vnStat PHP 允许您通过网络浏览器以有吸引力且易于使用的格式查看 vnStat 收集的数据。

vnStat PHP 提供了许多自定义选项,例如选择要监视的网络接口以及自定义用于显示数据的颜色和图形。

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

Nagios 是一个功能强大的开源监控系统,允许网络/系统管理员在服务器相关问题影响核心业务流程之前识别并解决这些问题。

Nagios 运行存储在连接到网络或 Internet 上的主机或其他服务器的服务器上的插件。一旦发生故障,系统会发出问题警报,以便技术团队立即进行恢复过程。

19. nmon: Linux性能监控​

Nmon(Nigel 的 Performance Monitor 的缩写)是一个完全交互式的命令行实用程序,用于监视Linux系统性能,最初由 IBM 为 AIX 系统开发,后来移植到Linux平台。 nmon 工具的一个重要优点是它允许您监控Linux

系统 各个方面的性能,例如 CPU 负载、内存使用情况、磁盘空间、网络使用情况、核心进程、虚拟机统计信息、文件系统、资源、微处理器功率。部分以及更多内容都集中在一个浓缩视图中。 除了以交互方式监控您的Linux系统之外,nmon 还可以用于批处理模式来收集和存储性能数据以供以后分析。



Nmon - Linux 性能监控工具


Nmon – Linux 性能监控工具

20. Collectl:一款一体化性能监控工具​

Collectl 是另一个功能强大且功能丰富的命令行实用程序,可用于收集有关Linux系统资源的信息,例如 CPU 使用情况、内存、网络、进程、nfs、TCP、套接字等。

集中监控


收集器监控
请在评论中告诉我们您使用哪些监控程序来监控Linux服务器的性能。如果我们遗漏了您想要包含在此列表中的任何重要工具,请在评论中告知我们,并且不要忘记分享。
 

相似主题

第 1 部分:安装 Fail2ban 第 1 步:更新Debian 在安装 Fail2Ban 之前,您必须更新Debian操作系统。这可确保所有现有软件包都是最新的,并且您运行的是最新版本的软件。要更新系统,请在终端中运行以下命令: sudo apt update sudo apt upgrade 该命令 sudo apt update 从存储库中检索最新的软件包信息,并将sudo apt...
0
7
0
第 1 步:更新包存储库。 首先,您需要更新系统软件包以确保您拥有最新版本。打开终端并运行以下命令: 代码: 更新系统软件包有助于避免兼容性问题并确保您拥有最新的安全补丁。 步骤 2. 安装依赖项。 bpftool 需要多个依赖项才能正常工作。通过运行以下命令来安装它们: Bash 此命令将安装必要的软件包,包括用于克隆 bpftool 存储库的 Git、构建工具以及编译 bpftool...
0
6
0
安装BBR,其实是一个升级内核和添加BBR功能的过程。 首先使用root用户登录服务器,然后在终端执行以下命令:
2
86
0
Nginx 是一个 Web 服务器,其开发旨在高负载下工作。但无论 nginx 的功能如何,当您需要限制站点/服务器上的负载时。这里的考虑因素可能有所不同,首先,这对于那些喜欢下载整个网站,然后将其以不同名称放置的人来说是一个障碍,当然对此的保护很弱,其次,有高峰,短期-术语负载,为此没有必要扩展服务器硬件。 Nginx 有两个模块 ngx_http_limit_zone_module -...
0
6
0
  • 置顶
一、XenForo 安装教程 1. 环境准备 1.1. 检查服务器配置确保你的服务器满足 XenForo 的系统要求: 操作系统:Linux(推荐),Windows 或 Mac OS 也可以使用。 Web 服务器:Apache 2.4 或 Nginx 1.18 及以上版本。 PHP:支持 PHP 7.4 至 PHP 8.2(推荐 PHP 8.0 或 8.1)。...
0
46
0
后退
顶部