必须用uptime、who -b、systemd-analyze time、cat /proc/uptime和last reboot五种命令综合判断:uptime显示连续运行时长;who -b给出精确启动时间点;systemd-analyze time分析各阶段启动耗时;/proc/uptime提供不可伪造的秒级原始数据;last reboot追溯历史重启记录。

要确认统信UOS服务器已连续运行多久、判断服务是否意外中断或验证长期稳定性,必须获取精确的系统运行时长,而非依赖桌面右下角显示的本地时间——该时间可能被手动修改或未同步。
用uptime命令查看当前运行时长
按下Ctrl + Alt + T 打开终端,输入uptime并回车。
终端输出形如up 8 days, 14:22,其中【up 后的内容即为系统自上次启动以来的连续运行时间】,不含关机或休眠时段;若显示up 0 min,说明刚重启过。
用who -b查看最后一次启动的确切时间点
在同一个终端中执行:who -b。
输出示例为system boot 2026-05-22 09:02,该时间戳来自 /var/run/utmp,对应内核初始化完成、用户空间服务开始加载的时刻,【比 uptime 更精准定位启动发生时间】,可用于计算两次重启间隔。
用systemd-analyze time分析启动耗时与就绪节点
第一步:运行systemd-analyze time。
第二步:重点查看Startup finished in行,它拆解了 firmware、loader、kernel、userspace 四阶段耗时;再看graphical.target reached after后的数值——这是桌面环境就绪时间,对服务器可忽略,但若运行 headless 服务,应关注multi-user.target reached after的值。
第三步:若 userspace 耗时异常高(如 >30s),说明某服务拉长了整体启动链,需配合systemd-analyze blame进一步排查。
用cat /proc/uptime获取秒级原始数据
执行命令:cat /proc/uptime。
输出为两个以空格分隔的浮点数,例如725489.32 612345.87,第一个数字就是系统已运行的总秒数,可直接用于脚本计算:echo "scale=2; 725489.32/86400" | bc得到天数。
这一步不经过任何格式化,【数值来自内核实时计数器,不可伪造,适合监控脚本取值】。
用last reboot追溯历史重启记录
方法一:直接运行last reboot,列出最近 10 次重启时间线,含日期、时间和重启方式(reboot 或 shutdown)。
方法二:加参数限制条数,如last reboot -n 20查看最近 20 条;若需排除假关机(如内核 panic 导致的自动重启),可结合journalctl -b -1 | grep -i "panic\|oops"检查上一次启动日志。
注意:该命令依赖 /var/log/wtmp,若服务器禁用了日志轮转或清空过该文件,则历史记录会丢失。

















