介绍一些常用的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](http://mp.weixin.qq.com/s?__biz=Mzg4Mzc2MzQ1OQ==&mid=2247484462&idx=1&sn=497f00abdb39f872c05637de136a6b44&chksm=cf433442f834bd540c9e908087c201dcc91c323a71ba095a72cb91cd5aa207f35b6635a807b6&scene=21#wechat_redirect)

[Linux网络命令篇:traceroute命令详解](http://mp.weixin.qq.com/s?__biz=Mzg4Mzc2MzQ1OQ==&mid=2247484687&idx=1&sn=a8860b44d2c1de9d63342458b270f102&chksm=cf433563f834bc754da0654de8ece983ce6e86972e7b9ea88477ab0959f626562de012384bc1&scene=21#wechat_redirect)

图片

图片


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

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

基准测试工具

图片

标签: none

评论已关闭