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

Linux系统运行时长怎么查

使用 uptime命令直接显示系统运行时长及负载;或查看 /proc/uptime第一列获取精确秒数;也可执行 who -b查看启动时间后手动计算差值。

如何查看Linux系统运行时间差

在Linux系统管理中,查看系统运行时间差(即自上次启动以来持续运行的时间)是监控系统稳定性、排查故障和维护服务器健康的关键操作,无论是检查服务器是否意外重启,还是评估系统可靠性,掌握以下方法将帮助您快速获取准确信息,以下是5种专业且高效的方法,适用于所有主流Linux发行版。


方法1:使用 uptime 命令(最简方式)

命令示例

uptime

输出解析

 12:30:45 up 15 days,  3:22,  2 users,  load average: 0.08, 0.03, 0.01
  • up 15 days, 3:22 表示系统已运行 15天3小时22分钟
  • 附加信息:当前时间、登录用户数和系统负载(1/5/15分钟平均值)。
    适用场景:快速检查运行时间,无需额外参数。

方法2:解析 /proc/uptime 文件(内核级数据)

操作步骤

cat /proc/uptime

输出示例

75 1295500.12
  • 第一个数值 75 是系统运行的总秒数。
  • 转换为可读格式:
    awk '{printf "Uptime: %d days, %02d:%02d:%02dn", $1/86400, ($1%86400)/3600, ($1%3600)/60, $1%60}' /proc/uptime

    输出结果

    Linux系统运行时长怎么查  第1张

    Uptime: 15 days, 03:22:04

    优势:直接读取内核数据,精度达毫秒级,适合脚本调用。


方法3:通过 systemd 工具(现代发行版专用)

命令示例

systemd-analyze time

输出解析

Startup finished in 5.312s (kernel) + 1min 12.345s (userspace) = 1min 17.657s 
Graphical interface reached after 1min 18.002s in userspace
  • 第一行显示内核和用户空间启动耗时。
  • 总运行时间需结合 uptime 使用,但可精确分析启动阶段耗时。
    适用系统:Ubuntu 16.04+、CentOS 7+ 等使用 systemd 的发行版。

方法4:组合 whoawk(历史启动记录)

命令示例

who -b && awk '{print "Uptime:", $1/86400 " days"}' /proc/uptime

输出结果

         system boot  2025-06-01 09:08
Uptime: 15.25 days
  • who -b 显示最后一次启动时间(2025-06-01 09:08)。
  • 结合 /proc/uptime 计算总运行天数。
    用途:同时获取启动时间点与运行时长。

方法5:利用 tuned-adm(优化系统监控)

操作步骤

tuned-adm profile latency-performance  # 启用性能模式(可选)
tuned-adm report | grep -A1 'System uptime'

输出示例

System uptime: 15 days, 3 hours, 22 minutes

适用场景:已安装 Tuned 工具的系统(如 RHEL/CentOS),提供格式化输出。


关键应用场景与建议

  1. 故障排查
    • 若运行时间远低于预期,检查 journalctl -b -1 查看上次启动日志。
  2. 自动化监控
    • 在脚本中使用 /proc/uptime,避免解析文本格式。
  3. 高可用系统
    • 结合 cron 定期记录 uptime,
      echo "$(date) Uptime: $(uptime -p)" >> /var/log/uptime.log

专业提示

  • 物理服务器运行时间过长(如数年)可能意味未安装内核安全更新,建议定期重启。
  • 云服务器频繁重启(如几天)可能触发资源回收机制,需检查服务配置。

方法 命令示例 精度 适用场景
uptime uptime 分钟级 快速交互式检查
/proc/uptime cat /proc/uptime + 脚本转换 毫秒级 脚本调用/精确计算
systemd-analyze systemd-analyze time 微秒级 分析启动阶段耗时
who + awk who -b + /proc/uptime 处理 秒级 同时获取启动时间点
tuned-adm tuned-adm report 分钟级 RHEL/CentOS 优化环境

掌握这些方法,您将能高效诊断系统稳定性,确保服务持续可靠运行。


引用说明

  • Linux 内核文档:/proc/uptime 文件格式
  • GNU Coreutils 手册:uptime 命令规范
  • systemd 官方文档:systemd-analyze 使用指南
0