uptime 是什么
uptime 用一行给出当前时间、系统运行时长、登录用户数,以及 1 分钟、5 分钟、15 分钟三个负载平均值。负载统计的是处于运行或不可中断等待状态的任务数:既包含正在使用 CPU 的进程,也包含卡在磁盘或网络 IO 上的进程,所以负载高并不一定代表 CPU 忙。判断机器忙不忙必须把负载与 CPU 核数对照——4 核机器上负载 4 表示刚好跑满,8 就说明已经明显排队。
基本信息
| 适用平台 | GNU/Linux、macOS(BSD 版输出格式略有差异) |
|---|---|
| 语法 | uptime;人类可读格式用 -p |
| 关键指标 | 运行时长、登录用户数、1/5/15 分钟负载 |
| 换算方式 | 负载除以核数约等于总体利用率,核数用 nproc 查看 |
| 负载构成 | 运行中任务加不可中断等待任务 |
| 动态观察 | 周期性执行等同用 watch 定时刷新 |
典型使用场景
- 快速确认机器是否重启过、已经运行了多久。
- 判断当前是否过载:把负载与核数对比。
- 排查负载高但 CPU 空闲的情况,指向 IO 等待。
- 登录机器做初步检查时的第一条命令。
- 结合监控观察负载在一天内的变化规律。
常用写法
常用写法
uptime # 一行看时间、运行时长、负载
uptime -p # 人类可读的运行时长
nproc # 查看 CPU 核数,用于换算
watch -n 5 uptime # 动态观察负载走势
cat /proc/loadavg # 负载细化数据:运行中与总任务数
uptime; nproc # 两条一起看,便于判断是否真的过载字段逐项读法
| 字段 | 含义 | 判断要点 |
|---|---|---|
| 当前时间 | 机器本地时间 | 与其他主机日志对时间时使用 |
| 运行时长 | 开机到现在的时长 | 判断是否刚刚重启过 |
| 登录用户数 | 当前会话数量 | 异常偏高要排查是否有异常登录 |
| 1 分钟负载 | 对近期变化敏感 | 反映瞬时压力 |
| 5 与 15 分钟 | 中期与长期趋势 | 三者递增说明压力在持续累积 |
| 负载与核数 | 换算总体利用率 | 负载接近核数表示已接近跑满 |
负载包含不可中断等待状态的任务:负载高但 CPU 使用率低,多半卡在磁盘或网络 IO,应先查存储与挂载,而不是盲目加 CPU。
1 分钟负载滞后于瞬时爆发:不要凭单次读数下结论,多看几分钟的走势再判断是否真的有持续压力。
虚拟化环境中宿主机资源争抢会体现在负载观感上,需要结合 CPU 等待占用比例综合判断,而不是只盯负载数字。