Linux查看系统启动时间,uptime命令详解
前言
想知道服务器从上次开机到现在跑了多久?或者想看系统负载?uptime 命令一行就能搞定。本文详细讲一下这个命令的用法。
uptime 命令
基本用法
直接输入:
uptime
输出类似:
07:49:21 up 2:15, 1 user, load average: 0.00, 0.01, 0.05
输出解释
| 字段 | 含义 |
|---|---|
07:49:21 |
当前系统时间 |
up 2:15 |
系统已经运行了 2 小时 15 分钟 |
1 user |
当前有 1 个用户登录 |
load average: 0.00, 0.01, 0.05 |
1分钟、5分钟、15分钟的平均负载 |
常用参数
显示漂亮一点
uptime -p
输出类似:
up 2 hours, 15 minutes
显示系统启动时间
uptime -s
输出类似:
2026-10-06 05:34:21
这就是系统上次启动的具体时间。
查看系统启动时间的其他方法
who 命令
who -b
输出类似:
system boot 2026-10-06 05:34
last 命令
last reboot | head -5
列出最近几次重启记录:
reboot system boot 3.10.0-1160.el7. Fri Oct 6 05:34 - 07:49 (02:15)
reboot system boot 3.10.0-1160.el7. Thu Oct 5 09:12 - 22:00 (12:47)
systemd-analyze
systemd-analyze
显示系统启动花了多长时间:
Startup finished in 1.234s (kernel) + 2.345s (initrd) + 10.123s (userspace) = 13.702s
负载(load average)怎么看
uptime 最后三个数字是负载,很多人不知道怎么判断高不高。
三个数字的含义
- 第一个:1 分钟平均负载
- 第二个:5 分钟平均负载
- 第三个:15 分钟平均负载
怎么判断高不高
负载和 CPU 核心数有关:
- 负载 < CPU核心数:正常
- 负载 ≈ CPU核心数:刚好饱和
- 负载 > CPU核心数:过载了
查看 CPU 核心数
nproc
输出就是核心数。
比如你的服务器是 4 核 CPU:
- 负载 1.0:很闲
- 负载 4.0:刚好跑满
- 负载 8.0:过载了
常见坑
坑1:负载高但 CPU 不高
负载很高,但 top 看 CPU 使用率不高。
原因: 可能是 I/O 等待高(磁盘读写慢),或者有大量进程在排队。
解决: 用 top 看 %wa 列(I/O 等待),如果高就是磁盘问题。
坑2:up 时间不对
uptime 显示的运行时间和你印象中的不一样。
原因: 系统可能自动重启过,或者你记错了。
解决: 用 last reboot 看历史重启记录。
坑3:1 user 不对
uptime 显示只有 1 个用户,但你明明看到好几个人登录。
原因: 显示的是登录会话数,不是用户数。同一个用户开多个 SSH 连接会算多个会话。
解决: 用 w 命令看详细的在线用户。
总结
| 命令 | 作用 |
|---|---|
uptime |
看运行时间和负载 |
uptime -p |
漂亮格式显示运行时间 |
uptime -s |
显示系统启动时间 |
who -b |
看系统启动时间 |
last reboot |
看历史重启记录 |
nproc |
看 CPU 核心数 |
日常运维用 uptime 一行就能看个大概,很方便。
遇到问题加QQ23979811 协助处理