Linux uptime 命令(75)

article/2025/9/6 19:16:13

文章目录

  • 1.命令简介
  • 2.命令格式
  • 3.选项说明
  • 4.常用示例
  • 5.拓展知识
    • 5.1 什么是系统平均负载
    • 5.2 系统平均负载多少时合理
    • 5.3 获取系统 CPU 核心数
    • 5.4 平均负载与 CPU 使用率的关系
  • 参考文献

1.命令简介

uptime 用于显示系统总共运行了多长时间和系统的平均负载。

无选项 uptime 命令会显示一行信息,依次为:当前时间、系统已经运行了多长时间、目前有多少用户登录、系统在过去的 1 分钟、5 分钟和 15 分钟内的平均负载。输出结果等同于 top 命令汇总区的第一行。

2.命令格式

uptime [OPTIONS]

3.选项说明

-p, --pretty采用可读友好的格式输出系统已运行时长
-h, --help显示帮助信息
-s, --since以格式 yyyy-mm-dd HH:MM:SS format 输出系统启动时间
-V, --version显示版本信息

4.常用示例

(1)查看系统运行时长与平均负载。

uptime
22:54:55 up 445 days,  9:38,  5 users,  load average: 0.08, 0.08, 0.06

显示的信息依次为:当前时间(22:54:55)、系统已经运行了多长时间(up 445 days, 9:38,表示 445 天 9 时 38 分钟)、目前有多少登录用户(5 users)、系统在过去的 1 分钟、5 分钟和 15 分钟内的平均负载(load average: 0.08, 0.08, 0.06)。

(2)查看系统启动时间。

uptime -s
2018-07-20 13:16:21

(3)只输出系统运行时长。

uptime -p
up 1 year, 11 weeks, 4 days, 9 hours, 43 minutes

5.拓展知识

5.1 什么是系统平均负载

系统平均负载指单位时间内,系统中处于可运行状态和不可中断状态的进程数,也就是平均活跃进程数,他和 CPU 使用率没有直接关系。

可运行状态的进程指正在使用 CPU 或正在等待使用 CPU 的进程,也就是我们常用 ps 命令看到的,处于 R 状态(Running 或 Runnable)的进程。

不可中断状态的进程指正在等待某些 I/O 的进程,即我们在 ps 命令中看到的 D 状态(Uninterruptible Sleep,也称为 Disk Sleep)的进程。例如等待磁盘 I/O,当一个进程向磁盘读写数据时,为了保证数据的一致性,在得到磁盘回复前,它是不能被其他进程打断的,这个时候的进程就处于不可中断状态。如果此时的进程被打断了,就容易出现磁盘数据与进程数据不一致的问题。所以,不可中断状态实际上是系统对进程和硬件设备的一种保护机制。

5.2 系统平均负载多少时合理

uptime 命令给出的三个时间段的平均负载并不是标准化的,因为系统中 CPU 核心数量是不定的。所以平均负载为 1 意味着拥有一个 CPU 核心的系统一直在忙碌,而在一个拥有 4 个 CPU 核心的系统上,意味着系统 75% 的时间是空闲的。

所以,当系统平均负载除以 CPU 核心数小于等于 1 表示系统没有出现过载的情况。最理想的情况是每个CPU 上都刚好运行一个进程,这样 CPU 就得到了充分的利用。

三个时间段统计出的系统平均负载,我们以哪个数字为准?一分钟?五分钟?还是十五分钟?我们应该着眼于五分钟或者十五分钟的平均数值,如果前一分钟的负载情况是 1.00,那么仍可以说明认定服务器情况还是正常的,但是如果十五分钟的数值仍然保持在 1.00,那么就值得注意了。

另外,读取文件 /proc/loadavg 可直接查看系统平均负载。

cat /proc/loadavg
0.04 0.03 0.05 1/319 21900

除了前 3 个数字表示系统平均负载外,后面的一个分数,分母表示系统进程总数,分子表示正在运行的进程数;最后一个数字表示最近运行的进程 ID。

5.3 获取系统 CPU 核心数

使用 lscpu 命令查看。
在这里插入图片描述
或者直接访问文件 /proc/cpuinfo 获取 CPU 核心数。

grep 'model name'  /proc/cpuinfo | wc -l
6

5.4 平均负载与 CPU 使用率的关系

在日常使用中,我们经常容易把平均负载和CPU使用率混淆,这里我们做下区分。

平均负载是指单位时间内,系统中处于可运行状态和不可中断状态的进程数,所以,他不仅包扩了正在使用CPU 的进程,还包括等待 CPU 和等待 I/O 的进程。

而 CPU 使用率,是单位时间内 CPU 繁忙情况的统计,和平均负载并不一定完全对应。比如:
(1)CPU 密集型进程,使用大量 CPU 会导致平均负载升高,此时这两者是一致的;
(2)I/O 密集型进程, 等待 I/O 也会导致平均负载升高,但是 CPU 使用率不一定很高;
(3)存在大量等待 CPU 调用的进程也会导致平均负载升高,此时的 CPU 使用率也会比较高。


参考文献

uptime(1) - Linux manual page - man7.org
如何理解linux的平均负载?


http://chatgpt.dhexx.cn/article/6WOUOx61.shtml

相关文章

Uptime-Kuma 一个轻量的开源监控工具

点击蓝字 关注我们 你好,这里是 Dotnet 工具箱,定期分享 Dotnet 有趣,有用的工具,不要忘记关注。 今天给大家介绍一个开源的监控工具 Uptime Kuma, 主要用来监控 Web 以及网络, 和 Prometheus 相比, 它是轻量的, Uptime Kuma 是…

开源监控服务uptime-kuma

好久没写文章了,刚好最近用了一个开源的监控服务,感觉蛮有意思的,记录一下 (一)安装 uptime-kuma安装方式有几种,这里当然是选择大家都爱的docker,一条命令搞定 docker run -d --restartalways -p 3001:…

LINUX uptime命令解读

每当系统变慢时,我们做的第一件事就是执行top或uptime,来了解下负载情况。 如下: 这里每一列输出的含义是什么呢? 19:40:29 //当前时间 up 3 days, 7:32 //系统运行时间 3 user …

Uptime Kuma一款开源监控工具

一、简介 今天介绍一个开源免费的监控工具 Uptime Kuma 简单实用。主要用来监控 Web 和网络, 和 Prometheus 不一样的是, 它是轻量的, 基于Node.js 和 Vue 3 开发,可以访问 https://demo.uptime.kuma.pet 先在线体验一下。有可监控 HTTP(s) / TCP / Ping / DNS 等…

【Linux】uptime命令详解平均负载

命令 ➜ ~ uptime 22:37 up 90 days, 21:45, 2 users, load averages: 2.91 3.46 3.81 具体含义 22:37:代表的是当前的系统时间,也即晚上10点37分。 up 90 days, 21:45:代表系统运行时间 2 users :当前两个用户 load averages: 2…

Linux下系统运行时间(uptime)命令使用及代码实现

在Linux系统中,一切都可以通过命令行命令来控制。 从小任务到大任务,您都可以找到一个简单的命令来完成您的工作。如果您是 Linux 新手,并且对系统管理感兴趣,那么您需要对命令行有扎实的了解。在本文中,我们将使用一些…

Linux命令(26)之uptime

Linux命令之uptime 1.uptime介绍 linux命令uptime是用来为用户提供系统从开启到当前运行uptime命令时系统已运行的时长信息,除此之外,还提了系统启动时间,当前登录用户,系统平均负载信息。 2.uptime用法 uptime [参数] uptime…

uptime 命令介绍

Linux 小白,若对系统管理有兴趣,或想成为资深用户,就需要对命令行有扎实的功底。你需要知道很多命令,其中一个就是 uptime。文本我们会通过一些容易理解的案例来讲解一下这个命令的基本用法。 Linux uptime 命令 望名生义&#xf…

linux基本功系列之uptime命令实战

文章目录 一. uptime命令介绍二. 语法格式及常用选项三. 参考案例3.1 显示当前系统运行负载情况3.2 显示机器正常运行的时间3.3 显示机器启动时间3.4 关于平均负载的介绍 总结 前言🚀🚀🚀 想要学好Linux,命令是基本功,…

如何快速学习android开发的(一)

因为项目需要,8月中旬开始决定做安卓的程序,所以马上就开始学习安卓方面的开发知识,把最近的学习实践经历和大家分享分享。不要一开始就下载一大堆资料,视频,然后就不知道做什么了,要给自己定个目标&#x…

安卓学习之

表格布局包含一系列的 TableRow对象,用于定义行(实际上你也可以使用其它子对象,将在后面进行解释)。表格布局不为它的行、列和单元格显示表格线。每个行可以包含0个以上(包括0)的单元格; 每个单…

通过安卓逆向来学习安卓开发

记一次逆向学习的过程 起因:最近在做bilibili缓存视频合并工具,适配Android 11时需要获取Android/data目录的读取权限,根据APP“清浊”开发者的帖子: 如何评价在Android11中,/Android/data文件夹无法读写?…

初学安卓framework系列 一 (怎么科学的学习安卓系统的framework)

相信大家在找工作的时候,肯定或多或少都被面试官问到过安卓的八股文。比如ActivityManagerService(简称AMS),或者WindowManagerService(WMS) 怎么实现的啊,有些什么细节需要注意啊,View被加入到ViewRoot的流程啊等等。每每看到这些…

关于自己学习安卓的体会

笔者学习了一段时间的安卓,有几个特别深的感触。 第一点。安卓开发虽然用的是JAVA语言(虽然有Kotlin但是笔者还没接触到),但是在大部分的开发过程中,基本都是重写各种类,自己写的东西比较少(这只…

【0】开始学习安卓了

说好的学习安卓,于是我就要开始学习安卓了,敢问安卓学习哪家强?? 一、准备好开发工具 (1)安卓SDK,建议用迅雷下载 (2)JDK,win764位的请到官网下载64位的 下载…

Android 学习(一)

安卓基本学习 架构体系 安卓的系统体系架构采用的是分层的架构 Kemel层: Android平台的基础。有线程管理和内存管理等功能。 HAL层: HAL的目的是为了把framework与Kernel隔开,让Android不至于过度依赖kernel,对kernel的简单封装…

安卓的学习

文章目录 第一节课:动/静态图片第二节课:一:按键监听事件二:界面中的文本框控件的文本内容自动与文本标签内容保持一致 第三节课一:点击增加的进度条二、获取按钮的信息二 可点击的列表 第一节课:动/静态图…

安卓基础学习

文章目录 前言工具创建项目简单控件即UI一、界面显示与逻辑处理二、文本三、布局 四、按钮五、控件综合训练(简易计算器)六、Activity七. 中级控件八、综合案列(登录与找回密码)数据存储一、SharedPreferences二、SQLite 九、外部存储空间十、Jetpack Room十一、正文字数太多&a…

【ANDROID学习】

Eclipse开发Android程序DEBUG 一 .虚拟机启动失败 报错信息: emulator: ERROR: x86_64 emulation currently requires hardware acceleration! Please ensure Intel HAXM is properly installed and usable. CPU acceleration status: Please disable Hyper-V befo…

Android基础学习整理知识点

注:本文内容有自己理解部分,若有不对的地方,欢迎指出。 Android四大组件 Activity 什么是Activity? 是应用程序的组件,用于显示用户界面,可以与用户交互完成相关的操作。App中可以有很多个Activity。 Activity存储…