Linux 系统性能检测的核心命令详解


1. CPU 性能检测

(1) top 命令

  • 功能:实时动态查看系统资源使用情况,重点关注 CPU。
  • 关键列
  • %Cpu(s):用户态(user)、内核态(system)、空闲(idle)等占比。
  • RES:进程实际占用物理内存(KB)。
  • TIME+:进程占用 CPU 的累计时间。
图片[1]_Linux 系统性能检测的核心命令详解_知途无界
  • 示例
  top -d 1  # 刷新间隔1秒
  • 解读:若 %Cpu(s)us(用户态)持续高于 70%,可能存在应用性能问题。

(2) vmstat 命令

  • 功能:查看系统整体资源使用情况(CPU、内存、IO等)。
  • 关键列
  • r:运行队列中的进程数(CPU 负载指标)。
  • us/sy:用户/内核态 CPU 使用率。
  • 示例
  vmstat 1  # 每秒刷新一次
  • 解读r 值长期大于 CPU 核心数,说明 CPU 资源紧张。

(3) mpstat 命令(需安装 sysstat 包)

  • 功能:查看每个 CPU 核心的详细使用率。
  • 示例
  mpstat -P ALL 1  # 每秒显示所有CPU核心的使用率
  • 解读:若某个核心持续高负载,可能存在单线程应用瓶颈。

2. 内存性能检测

(1) free 命令

  • 功能:查看内存和交换分区使用情况。
  • 关键列
  • available:系统可用内存(已扣除缓存和缓冲区)。
  • swap:交换分区使用量(若持续增长,说明物理内存不足)。
  • 示例
  free -h  # 以人类可读格式显示

(2) vmstat 内存部分

  • 关键列
  • free:空闲内存(KB)。
  • cache/buff:缓存和缓冲区占用(可被回收)。
  • 解读:若 free 极低但 available 足够,说明内存压力可控。

(3) pmap 命令

  • 功能:查看进程的内存映射详情。
  • 示例
  pmap -x <PID>  # 显示指定进程的内存分布

3. 磁盘 I/O 性能检测

(1) iostat 命令(需安装 sysstat 包)

  • 功能:查看磁盘读写和 CPU 等待情况。
  • 关键列
  • %util:磁盘利用率(接近 100% 表示瓶颈)。
  • await:I/O 平均等待时间(毫秒)。
  • 示例
  iostat -x 1  # 每秒显示扩展统计信息

(2) iotop 命令(需 root 权限)

  • 功能:实时查看进程级磁盘 I/O。
  • 示例
  iotop -o  # 仅显示实际发生 I/O 的进程

(3) dfdu

  • df:查看磁盘空间使用情况。
  df -h  # 以人类可读格式显示
  • du:查看目录/文件占用空间。
  du -sh /var/log  # 统计/var/log目录大小

4. 网络性能检测

(1) iftop 命令(需安装)

  • 功能:实时监控网络流量(按连接/端口)。
  • 示例
  iftop -i eth0  # 指定网卡

(2) nload 命令(需安装)

  • 功能:直观显示网络带宽使用情况。
  • 示例
  nload eth0

(3) netstatss

  • 功能:查看网络连接状态。
  • 示例
  ss -tulnp  # 显示所有监听端口及对应进程

(4) pingtraceroute

  • ping:测试网络延迟和连通性。
  ping -c 4 example.com
  • traceroute:跟踪网络路径。
  traceroute example.com

5. 综合性能分析工具

(1) sar 命令(来自 sysstat 包)

  • 功能:历史系统性能数据收集与分析。
  • 示例
  sar -u 1 3     # 查看CPU使用率(每秒1次,共3次)
  sar -r 1 3     # 查看内存使用情况
  sar -q         # 查看系统负载

(2) dstat 命令(需安装)

  • 功能:实时资源统计(CPU、内存、磁盘、网络等)。
  • 示例
  dstat -cdngy  # 综合监控

(3) perf 工具(内核级性能分析)

  • 功能:分析 CPU 热点函数。
  • 示例
  perf top       # 实时显示热点函数
  perf record -a sleep 10  # 采样10秒
  perf report    # 生成报告

6. 关键指标解读指南

指标正常范围风险信号
CPU us 使用率<70%持续 >90% 可能应用瓶颈
内存 available>总内存的20%<10% 可能触发 OOM
磁盘 %util<70%>90% 需优化 I/O 或扩容
网络 await<10ms>50ms 可能网络或磁盘问题

7. 常见问题排查流程

  1. CPU 过载topmpstatperf top(定位热点进程/函数)。
  2. 内存不足freevmstatpmap(检查缓存和进程内存)。
  3. 磁盘瓶颈iostatiotopdf -h(确认高 I/O 进程和空间)。
  4. 网络延迟pingtracerouteiftop(检查连通性和流量)。

通过组合这些命令,可以快速定位 Linux 系统的性能瓶颈,并采取针对性优化措施(如调整内核参数、升级硬件或优化应用代码)。

© 版权声明
THE END
喜欢就点个赞,支持一下吧!
点赞48 分享
评论 抢沙发
头像
欢迎您留下评论!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容