当前位置:首页 > Linux > 正文

Linux系统负载如何实时查看?

在Linux中,使用 topuptimew 命令查看系统负载(Load Average),显示在输出信息的顶部,负载值表示单位时间内处于可运行或不可中断状态的平均进程数,也可直接读取 /proc/loadavg 文件。

在Linux系统中,监控系统负载是维护服务器性能和稳定性的关键操作,系统负载(Load Average)反映了CPU任务队列的繁忙程度,包含三个关键值:1分钟、5分钟和15分钟的平均负载,理想情况下,负载值应接近或低于CPU核心数(例如4核CPU的负载长期超过4,说明系统过载),以下是详细的查看方法:


核心命令工具

uptime 命令

最快捷的方式,显示当前时间、系统运行时长、用户数和负载平均值:

$ uptime
 10:30:45 up 15 days,  3:22,  2 users,  load average: 0.58, 1.20, 2.05
  • 解读
    58(1分钟负载) < 20(5分钟) < 05(15分钟)
    说明近期负载呈下降趋势,系统压力缓解中。

tophtop 命令

动态实时监控工具:

Linux系统负载如何实时查看?  第1张

$ top
# 首行显示:load average: 1.01, 0.95, 0.87
  • htop(推荐)
    彩色界面更直观(需安装:sudo apt install htop)。

查看 /proc/loadavg 文件

直接读取内核数据:

$ cat /proc/loadavg
0.75 0.80 0.85 2/500 12831
  • 字段含义
    前三位是负载值,第四位2/500(运行中进程数/总进程数),第五位最后创建的进程PID。

高级监控工具

mpstat(多核CPU分析)

$ mpstat -P ALL 1  # 每秒刷新所有CPU核心利用率

结合负载值分析:若负载高但CPU利用率低,可能卡在I/O等待(如磁盘瓶颈)。

glances(综合仪表盘)

安装:sudo apt install glances
展示负载、内存、磁盘、网络等实时数据(按q退出)。

sar(历史记录分析)

$ sar -q  # 查看历史负载数据(需安装sysstat)

负载值解读与健康标准

  • 核心数对比
    先获取CPU核心数:nprocgrep 'model name' /proc/cpuinfo | wc -l
    示例:4核CPU的负载:

    • <4:正常
    • >4:过载(需优化)
    • 15分钟值持续高于1分钟值:系统压力在减轻。
  • 异常场景

    • I/O瓶颈:负载高但%CPU低(top%wa值高)。
    • CPU瓶颈:负载和%us(用户进程CPU使用率)均高。

自动化监控建议

  1. 告警配置
    使用ZabbixPrometheus设置负载阈值告警(如15分钟负载 > 核心数×0.7)。
  2. 日志记录
    通过cron定时任务记录负载:

    * * * * * echo $(date) $(cat /proc/loadavg) >> /var/log/load.log

  • 优先命令uptime(快速查看)、htop(交互分析)。
  • 关键原则:负载需结合CPU核心数评估(如nproc)。
  • 持续高负载:检查top中的%wa(I/O等待)、%us(用户进程)或内存瓶颈(free -h)。

引用说明

  • Linux内核文档(man proc关于/proc/loadavg的解释)。
  • Sysstat工具集官方手册(man sar)。
  • Ubuntu Server最佳实践指南(CPU性能优化部分)。
0