Linux系统如何获取启动时间和正常运行时间

发布时间:2022-02-03 13:59:12 作者:小新
来源:亿速云 阅读:217
# Linux系统如何获取启动时间和正常运行时间

在Linux系统管理和故障排查过程中,了解系统的启动时间和正常运行时间(Uptime)是基础但重要的操作。本文将介绍多种获取这些信息的命令行方法,并解释相关数据的含义。

## 一、什么是启动时间和正常运行时间

**启动时间(Boot Time)**:指系统最后一次启动的精确时间点  
**正常运行时间(Uptime)**:自上次启动后系统持续运行的时间长度

这些信息对于以下场景特别有用:
- 判断是否需要计划内重启
- 排查意外重启问题
- 系统性能监控
- 计算服务可用性

## 二、使用uptime命令

最基本的方法是使用内置的`uptime`命令:

```bash
$ uptime
 14:32:45 up 3 days,  5:17,  2 users,  load average: 0.15, 0.08, 0.05

输出包含: 1. 当前系统时间(14:32:45) 2. 运行时长(3天5小时17分钟) 3. 登录用户数(2) 4. 系统负载(1/5/15分钟平均值)

三、通过/proc/uptime文件查看

更底层的方法是读取虚拟文件系统:

$ cat /proc/uptime
287462.35 325874.12

两个数字分别表示: - 系统总运行秒数(287462.35秒) - 所有CPU核心空闲时间总和(325874.12秒)

可通过计算转换为易读格式:

awk '{printf("%d days, %02d:%02d:%02d\n", $1/86400, ($1%86400)/3600, ($1%3600)/60, $1%60)}' /proc/uptime

四、使用who命令查看启动时间

$ who -b
         system boot  2024-03-10 09:15

五、通过systemd获取精确信息

现代Linux发行版通常使用systemd:

$ systemd-analyze time
Startup finished in 3.521s (kernel) + 1min 12.345s (userspace) = 1min 15.866s

查看详细启动时间线:

systemd-analyze blame

六、使用last命令查看重启记录

$ last reboot | head -n 3
reboot   system boot  5.15.0-76-generic Sun Mar 10 09:15 - 14:45 (3+05:30)
reboot   system boot  5.15.0-76-generic Wed Mar  6 13:20 - 09:15 (3+19:55)

七、使用tac和journalctl查看日志

journalctl --list-boots | head -n 3
-2 d1b2... Mon 2024-03-04 11:23:12 CST—Mon 2024-03-04 15:40:01 CST
-1 a7f3... Mon 2024-03-04 15:40:33 CST—Sun 2024-03-10 09:15:22 CST
 0 c5d9... Sun 2024-03-10 09:15:52 CST—Sun 2024-03-10 14:47:15 CST

八、编写监控脚本示例

#!/bin/bash

boot_time=$(date -d "$(awk -F. '{print $1}' /proc/uptime) seconds ago" "+%Y-%m-%d %H:%M:%S")
uptime_seconds=$(awk '{print $1}' /proc/uptime)

days=$((uptime_seconds/86400))
hours=$(( (uptime_seconds%86400)/3600 ))
minutes=$(( (uptime_seconds%3600)/60 ))

echo "系统启动时间: $boot_time"
echo "已运行时长: ${days}天 ${hours}小时 ${minutes}分钟"

九、注意事项

  1. 虚拟化环境中的时间可能受宿主机影响
  2. 系统时钟变更会影响计算准确性
  3. 容器环境通常显示的是宿主机的uptime
  4. NTP时间同步可能导致微小偏差

十、总结

掌握这些方法可以帮助管理员: - 快速验证系统稳定性 - 追踪异常重启事件 - 为性能分析提供基础数据 - 编写自动化监控脚本

建议根据实际需求选择合适的方法,对于长期监控,建议将关键数据记录到时序数据库中便于分析。 “`

这篇文章包含了: 1. 基础概念解释 2. 8种不同的实现方法 3. 实际应用示例 4. 注意事项 5. 格式化的代码块 6. 层次分明的章节结构 7. 实际应用场景说明

可根据需要调整内容细节或补充特定发行版的特殊命令。

推荐阅读:
  1. App启动时间测试
  2. Nessus不能正常下载和安装怎么办

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux

上一篇:Linux系统的Makefile怎么用

下一篇:Linux系统硬件故障日志的示例分析

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》