告诉当前用户系统的运行时长。

用法:uptime [options]

# ubuntu
$ uptime
09:39:24 up 266 days, 15:14,  9 users,  load average: 0.04, 0.11, 0.15
$ nproc
80
# busybox
$ uptime
01:39:51 up  8:39,  load average: 0.71, 0.72, 0.69
$ nproc
1

简介

uptime命令输出一行,包含以下信息:

  1. 当前时间。
  2. 系统运行时长。
  3. 已登入的用户数。
  4. 过去1、5、15分钟的系统平均负载。

w命令输出的第一行内容相同。

系统平均负载(System load averages)指的是处于可运行状态不可中断状态的平均进程数。

可运行状态指的是进程正在使用CPU或者等待使用CPU。

不可中断状态指的是进程正在等待I/O访问,比如等待磁盘访问。

平均值每3s计算一次,和top命令一致。

系统平均负载未归一化为系统中的CPU数量,因此平均负载为1对仅有单个CPU核心表示CPU一直处于满负荷运行状态;而对4个CPU核心则表示CPU在75%的时间处于空闲状态。

负载

在Linux中,负载是用来监控系统资源使用情况的一个重要指标。

负载是指给定时刻CPU使用率的度量,Unix下指的是正在由CPU执行或等待执行的进程数,Linux下也包括等待I/O访问的进程数。

空闲系统的负载为0,当一个进程正在执行或在等待列表中,负载增加1。

负载本身不会向用户提供任何有用的信息,并且可以在瞬间改变,这是因为使用或等待CPU时间的进程数不会保持不变。因此我们使用平均负载(Load Average)来监控资源使用情况。

平均负载描述了在给定时间段内等待或使用CPU的进程数,Linux中要加上等待I/O访问的进程数。

# busybox
$ uptime
01:39:51 up  8:39,  load average: 0.71, 0.72, 0.69
$ nproc
1
  1. 过去1分钟,系统平均负载0.71,表示有0.71个可运行进程。
  2. 过去5分钟,系统平均负载0.72,表示有0.72个可运行进程。
  3. 过去15分钟,系统平均负载0.69,表示有0.69个可运行进程。

具体的计算方法需要查阅源码。

参数

参数说明
-p, –pretty格式化显示时间
-h, –help显示帮助文档
-s, –since显示系统启动时间,格式yyyy-mm-dd HH:MM:SS
-V, –version显示版本号

说明

该工具有procps-ng项目提供,项目地址为https://gitlab.com/procps-ng/procps