Administrator
发布于 2026-05-17 / 2 阅读
0

你可以需要了解的Linux 性能工具

介绍一些常用的Linux性能工具,这些工具可以帮助系统管理员和开发人员监控、分析和优化系统性能。

文中梳理常见的性能工具,从 CPU、内存、文件系统和磁盘 I/O、网络以及基准测试等不同的角度,汇总了各类性能指标所对应的性能工具速查表

图片

Brendan Gregg 整理的性能工具谱图

CPU 性能工具

CPU性能指标

  • CPU使用率

    • 用户空间 (user space) 的CPU使用率

    • 系统空间 (system space) 的CPU使用率

    • 空闲时间 (idle time)

    • 等待I/O的时间 (iowait)

    • 中断处理时间 (irq 和 softirq)

  • 上下文切换

    • 每秒上下文切换次数 (voluntary 和 involuntary)
  • 负载平均值

    • 1分钟、5分钟和15分钟的系统负载平均值

  • CPU性能指标监控工具

  • top: 实时显示CPU使用率、内存使用情况和进程信息。

  • htop: 类似于top,但提供更交互性和用户友好的界面。

  • mpstat: 显示每个CPU的使用情况;使用 mpstat -P ALL 显示所有CPU的使用情况。

  • vmstat: 显示系统的整体性能,包括CPU、内存、I/O等;使用 vmstat 1 每秒刷新一次。

图片

图片

内存性能工具

内存性能指标

  • 总内存和可用内存

    • 物理内存总量

    • 可用内存量

  • 缓存和缓冲区

    • 缓存的内存量

    • 缓冲区的内存量

  • 交换使用情况

    • 已使用的交换空间

    • 可用的交换空间

    • 交换进/出次数

  • 页面故障

    • 每秒页面故障数 (major 和 minor)

内存性能指标监控工具

  • free: 使用 free -h 显示内存的总量、已用、可用、缓存和交换空间。

  • vmstat: 同样适用于内存监控;使用 vmstat 1 每秒刷新一次。

  • /proc/meminfo: 使用 cat /proc/meminfo 显示详细的内存使用信息。

图片

图片

磁盘 I/O 性能工具

文件系统和磁盘I/O性能指标

  • 磁盘使用率

    • 每个文件系统的已用空间和可用空间
  • I/O操作

    • 每秒读/写操作次数 (IOPS)

    • 每秒读/写的字节数 (吞吐量)

  • I/O等待时间

    • 请求服务时间

    • 队列等待时间

  • 平均队列长度

    • 设备的请求队列长度

文件系统和磁盘I/O性能指标监控工具

  • df: 使用 df -h 显示文件系统的磁盘使用情况。

  • du: 使用 du -sh /path/to/directory 显示指定目录的磁盘使用情况。

  • iostat: 显示CPU和I/O设备的使用情况;使用 iostat -d 1 每秒显示一次磁盘I/O情况。

  • iotop: 交互式显示实时的磁盘I/O。

  • dstat: 综合显示CPU、内存、磁盘、网络等多个指标。

图片

图片

网络性能工具

网络性能指标

  • 带宽使用率

    • 每秒发送和接收的字节数

    • 每秒发送和接收的数据包数

  • 网络延迟

    • 请求到响应的时间
  • 错误和丢包率

    • 接收和发送的错误数

    • 丢包率

  • 连接数

    • 活动连接数

    • 新建连接数

网络性能指标监控工具

  • ifconfig 或 ip: ifconfig 显示网络接口的配置和状态;ip a 显示所有网络接口的详细信息。

  • netstat: 使用 netstat -i 显示网络接口的统计信息;使用 netstat -s 显示详细的网络统计信息。

  • ss: 使用 ss -tuln 显示监听的TCP和UDP端口;使用 ss -s 显示网络连接的总结信息。

  • ping: 使用 ping <host> 测试到目标主机的网络延迟。

  • traceroute: 使用 traceroute <host> 显示到目标主机的路由路径。

  • iftop: 实时显示网络带宽的使用情况。

    你可能需要熟练掌握的Linux命令:ss

    Linux网络命令篇:traceroute命令详解

图片

图片


监控和分析这些性能指标,可以全面了解系统的运行状况,识别潜在的瓶颈和问题。它们在日常运维、性能调优、容量规划和故障排查中发挥着至关重要的作用。

通过合理设置监控工具和报警策略(如Nagios、Zabbix、Prometheus等),确保系统以高效、稳定的状态运行。

基准测试工具

图片