Linux查看系统启动时间,uptime命令详解

前言

排查服务器"为什么重启了"、评估系统稳定性时,需要知道系统上次启动时间和连续运行时长。uptime 是最直接的命令,一行同时给出当前时间、运行时长、在线用户数和平均负载。本篇拆解它的输出含义,并补充查看精确开机时间的其他方法。

一、uptime 基本用法

uptime
# 输出示例:
#  07:35:12 up  18:22,  2 users,  load average: 0.12, 0.08, 0.05

二、输出字段逐项解读

  • 07:35:12:系统当前时间;
  • up 18:22:系统已连续运行 18 小时 22 分钟;如果跨天较长会显示 days,例如 up 3 days, 04:10;
  • 2 users:当前登录的会话数(包含 ssh、终端、图形会话,重复登录会重复计数,不等于在线人数);
  • load average: 0.12, 0.08, 0.05:系统平均负载,分别对应最近 1 分钟、5 分钟、15 分钟 的平均活跃进程数(含运行、等待 CPU、等待 IO 的进程)。

三、平均负载怎么判断是否偏高

平均负载要看 CPU 核心数才有意义:

# 查看 CPU 核心数
nproc
# 或
cat /proc/cpuinfo | grep "processor" | wc -l

经验判断:

  • 负载值 < CPU 核数:CPU 处理得过来;
  • 负载 ≈ 核数:接近饱和;
  • 负载 > 核数持续几分钟:进程在排队,需要结合 top、vmstat 排查是 CPU 密集还是 IO 密集;
  • 1 分钟高、5/15 分钟低:短时高峰;三分钟趋势接近且都偏高:持续压力。

四、uptime 常用参数

# 简洁模式,只显示运行时长
uptime -s
# 显示上次开机时间(精确到时分秒)
# 输出示例:2026-10-21 13:12:49

uptime -p
# 漂亮格式:up 18 hours, 22 minutes

五、其他查看开机时间的方法

# 1. who -b 查看上次启动时间
who -b

# 2. last reboot 列出历次重启记录(查谁重启、何时重启)
last reboot | head

# 3. 读取 /proc/uptime(第一个值为秒数,第二个为空闲秒数)
cat /proc/uptime

# 4. systemd 系统用 systemd-analyze 看启动耗时
systemd-analyze

六、常见坑

  1. up 后面格式看错:18:22 是小时:分钟,不是当天时间;跨天会出现 days;
  2. users 当成真实人数:它统计会话数,一条 ssh 断线未退出也会占一个会话;用 w 或 who 看具体登录人;
  3. 负载和 CPU 占用混淆:高负载可能是磁盘 IO 等待导致,CPU 使用率反而不高,要结合 top 中 %wa 判断;
  4. 不结合核数看负载:4 核机器负载 2.0 很轻松,1 核机器负载 2.0 已经排队;
  5. uptime -s 拿到的是开机时间,不是进程启动时间:查某个服务何时启动用 ps -o lstart -p PID。

七、排查组合命令

# 一次看:运行时长、负载、CPU 核数、当前登录人
uptime
nproc
w

服务异常时先看 uptime:若运行时长很短,说明机器刚重启,先确认是计划重启、断电还是崩溃重启,再结合 last reboot 和 /var/log/messages 定位原因。

总结

uptime 一行给出当前时间、已运行时长、登录会话数和 1/5/15 分钟负载;判断负载要除以 CPU 核数;精确开机时间用 uptime -s、who -b、last reboot;重启类故障先确认运行时长和重启记录,再往下查系统日志。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-22 07:35 

Linux查看系统负载,uptime和w命令详解

前言

服务器卡不卡,先看负载。Linux看系统负载最常用的就是uptime和w命令,一行输出就能看到系统跑了多久、现在有多少人登录、负载高不高。本文讲怎么看这些信息。

一、uptime命令

直接敲

uptime

输出:

 07:39:01 up 35 days,  2:15,  2 users,  load average: 0.08, 0.03, 0.00

逐个解释

字段 含义
07:39:01 当前时间
up 35 days, 2:15 系统运行了35天2小时15分
2 users 当前有2个用户登录
load average: 0.08, 0.03, 0.00 系统负载,分别是1分钟、5分钟、15分钟

负载怎么看

load average三个数:

  • 第一个:最近1分钟的平均负载
  • 第二个:最近5分钟的平均负载
  • 第三个:最近15分钟的平均负载

判断标准:

负载值 状态
0.00-0.70 正常
0.70-1.00 注意一下
1.00-2.00 有点高
2.00以上 很高了,要排查

注意: 负载和CPU核数有关。比如4核CPU,负载4.00才是满。

看CPU核数

nproc
# 4

或者:

cat /proc/cpuinfo | grep processor | wc -l
# 4

判断: 负载小于CPU核数就是正常的。

二、w命令

直接敲

w

输出:

 07:39:01 up 35 days,  2:15,  2 users,  load average: 0.08, 0.03, 0.00
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    1.2.3.4          07:35    5.00s  0.03s  0.00s w
www      pts/1    5.6.7.8          07:30    8:12   0.01s  0.01s -bash

逐个解释

第一行和uptime一样。

下面是登录用户列表:

字段 含义
USER 用户名
TTY 终端类型(pts/0表示远程连接)
FROM 从哪个IP登录的
LOGIN@ 登录时间
IDLE 空闲时间
JCPU 整个终端所有进程用的CPU时间
PCPU 当前进程用的CPU时间
WHAT 当前在跑什么命令

三、其他查看命令

who命令

看谁登录了:

who

输出:

root     pts/0        2026-10-09 07:35 (1.2.3.4)
www      pts/1        2026-10-09 07:30 (5.6.7.8)

last命令

看登录历史:

last

输出最近登录的记录。

lastb命令

看失败的登录:

lastb

四、负载高了怎么排查

第一步:看CPU

top

按P按CPU排序,看哪个进程占CPU多。

第二步:看内存

free -h

看内存够不够,有没有用swap。

第三步:看磁盘

df -h

看磁盘满了没。

第四步:看IO

iostat

看磁盘IO高不高。

五、常见坑

坑1:负载高不代表CPU高

负载包括:

  • 正在用CPU的进程
  • 等着CPU的进程
  • 等着磁盘IO的进程

可能是磁盘IO高,CPU不高,但负载也高。

坑2:负载和核数对比

1核CPU,负载1.0就是满了。
4核CPU,负载4.0才是满了。

别光看数字,要看CPU核数。

坑3:三个负载数的区别

  • 1分钟高,5分钟、15分钟不高:可能是突然有个进程跑了一下
  • 15分钟都高:说明系统一直很忙

总结

记住:

  1. uptime 看系统运行时间和负载
  2. w 看谁登录了、在干嘛
  3. 负载三个数:1分钟、5分钟、15分钟
  4. 负载要和CPU核数对比
  5. 负载高了用top、free、df、iostat排查

最常用:

uptime    # 看负载
w         # 看谁在登录
top       # 看哪个进程占CPU

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-9 07:39 

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 协助处理


emer 发布于  2026-10-6 07:49 

Linux查看系统运行时间,uptime和w命令使用

前言

想知道服务器已经连续运行了多少天?现在有多少人在线?系统负载怎么样?这些问题用 uptime 和 w 两个命令就能搞定。这两个命令虽然简单,但都是运维日常最常用的,一个看运行时间和负载,一个看谁在线。本文就把这两个命令讲透。

uptime 命令

基本用法

直接输入:

uptime

输出示例:

 10:30:45 up 30 days,  2:15,  1 user,  load average: 0.50, 0.40, 0.30

输出详解

字段 含义
10:30:45 当前系统时间
up 30 days, 2:15 系统已运行30天2小时15分钟
1 user 当前有1个用户登录
load average: 0.50, 0.40, 0.30 系统负载,分别是1分钟、5分钟、15分钟的平均值

负载怎么看

负载(load average)是衡量系统繁忙程度的指标。数值越高说明越忙。

判断标准:

  • 负载数值和CPU核心数有关
  • 比如4核CPU,负载4.0才算跑满
  • 一般来说,负载不要超过CPU核心数的70%
  • 比如4核CPU,负载在2.8以下算正常

uptime 常用参数

uptime -V

查看版本号。

uptime -h

查看帮助。

w 命令

基本用法

直接输入:

w

输出示例:

 10:30:45 up 30 days,  2:15,  1 user,  load average: 0.50, 0.40, 0.30
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    192.168.1.100    10:20    5.00s  0.05s  0.00s w

输出详解

第一行和 uptime 完全一样:系统时间、运行时间、在线用户数、负载。

下面是当前登录的用户列表:

列 含义
USER 登录用户名
TTY 终端类型(pts/0 表示远程SSH连接)
FROM 登录来源IP
LOGIN@ 登录时间
IDLE 空闲时间
JCPU 该终端所有进程占用的CPU时间
PCPU 当前进程占用的CPU时间
WHAT 当前正在运行的命令

w 常用参数

w -h

不显示第一行标题,只显示用户列表。

w -s

精简模式,不显示 JCPU 和 PCPU 列。

w root

只查看某个用户的登录信息。

who 命令

除了 uptime 和 w,还有个 who 命令,更简单:

who

输出:

root     pts/0        2026-10-05 10:20 (192.168.1.100)

只显示谁在线、从哪来、什么时候登录的。

last 命令

想知道历史登录记录,用 last:

last

输出最近的登录记录,包括:

  • 谁登录的
  • 从哪个IP登录的
  • 什么时候登录的
  • 登录了多久
last -10

只看最近10条。

实际应用场景

场景1:服务器重启过没有

用 uptime 看运行时间,如果才几天,说明最近重启过。

uptime

场景2:谁在登录我的服务器

用 w 看当前有谁在线,来源IP是哪里。如果有不认识的IP,可能是被入侵了。

w

场景3:系统负载高不高

用 uptime 看 load average,如果负载很高,再用 top 看是哪个进程占的。

uptime
top

场景4:排查登录历史

用 last 看历史登录记录,有没有异常登录。

last

常见坑

坑1:负载高就以为CPU不够

负载高不一定是CPU的问题。负载包括所有等待CPU的进程,也包括等待I/O的进程。可能是磁盘I/O瓶颈,也可能是大量进程在排队。要结合 top 一起看。

坑2:把在线用户数看得很重要

1 user 这个数字只是当前登录的用户数,不代表系统性能。一个用户也可能把系统跑满,100个用户也可能很空闲。

坑3:last 显示的是历史记录,不是实时状态

last 是看历史登录记录的,现在谁在线要用 w 或 who。两者别搞混了。

总结

uptime 和 w 是最基础的系统监控命令:

  1. uptime:看系统运行时间和负载
  2. w:看谁在线、从哪来、在干嘛
  3. who:更简单的在线用户查看
  4. last:看历史登录记录

这几个命令都是秒出结果,排查问题的时候先跑一遍,快速了解系统基本状态。

遇到问题加QQ23979811 协助处理


emer 发布于  2026-10-5 07:35 
'); })();