文章目录

  • 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的平均负载?

Linux uptime 命令(75)相关推荐

  1. Linux uptime 命令详解

    Linux uptime 命令详解 使用权限: 所有使用者 使用方式: uptime [-V] 说明: uptime 提供使用者下面的资讯,不需其他参数: 现在的时间 系统开机运转到现在经过的时间 连 ...

  2. 【Linux】一步一步学Linux——uptime命令(76)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 uptime命令能够打印系统总共运行了多长时间和系统的平均 ...

  3. linux系统uptime解读,Linux uptime命令操作实例

    Linux命令中,uptime命令除了能够查看系统cpu使用率外(详见系统之家如何使用w和uptime命令查看Linux系统使用率),还能查看系统运行时间等,下面小编就给大家详细介绍下uptime命令 ...

  4. 【Linux】一步一步学Linux——cal命令(75)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. 参考示例 05. 附录 01. 命令概述 cal命令用于显示当前日历,或者指定日期的日历. cal命 ...

  5. Linux - uptime命令平均负载详解

    目录 使用说明: 案例说明: 什么是平均负载 了解系统目前平均负载情况 平均负载高问题排查思路 CPU密集型进程case: IO密集型进程case: 大量进程case: uptime用于显示系统总共运 ...

  6. LINUX uptime命令解读

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

  7. linux 格式化up命令,uptime 命令介绍

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

  8. uptime 命令介绍

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

  9. linux系统uptime解读,linux uptime和系统负载

    linux uptime命令用于显示系统已经运行了多长时间,它依次显示下列信息:现在时间.系统已经运行了多长时间.目前有多少登陆用户.系统在过去的1分钟.5分钟和15分钟内的平均负载.我们平进主机关心 ...

最新文章

  1. python tcp server分包_如何创建线程池来监听tcpserver包python
  2. 每天生产45亿词!GPT-3已渗透进300+应用中,网友:边吃边拉
  3. C语言内存管理-字符数组与字符指针
  4. SCVMM 2012 R2---安装SCVMM 2012 R2服务器
  5. 十、Docker快速搭建Elastic Stack(下篇)
  6. 玩转Google开源C++单元测试框架Google Test系列(gtest)之一 - 初识gtest
  7. java实例成员和类成员变量的区别_Java之实例成员与类成员
  8. flutter 自定义Tabbar高度和背景色
  9. Web后端学习笔记 Flask(11)Local线程隔离对象
  10. 命令: LIST 响应: 150 Opening BINARY mode data connection. 错误: 20 秒后无活动,连接超时 错误: 读取目录列表失败
  11. 并行算法设计与性能优化总结
  12. 回溯算法解迷宫问题(java版)
  13. atitit.提升开发效率---使用服务器控件生命周期 asp.net 11个阶段 java jsf 的6个阶段比较
  14. 最新2016年春运抢票12306买下铺攻略
  15. easyscreen调用html,840D——EasyScreen输入密码跳转界面的编写-工业支持中心-西门子中国...
  16. php后端经历,后端学习路线,仅供参考,个人总结
  17. 笔记本服务器管理器在哪个文件夹,笔记本云服务器在哪个文件夹
  18. Altium Designer 相同模块的布局布线操作
  19. FANUC机器人Config系统配置中各项参数的功能描述及设定
  20. java controller注解原理_SpringMVC运行流程与原理【Controller接口实现注解实现】

热门文章

  1. 画质最好单机linux游戏,画质最好单机手游推荐 画质超高单机手游下载
  2. 最新版CATIA,让您快速创造完整高级机械项目
  3. 《实战网络营销 网络推广经典案例战术解》扫描版[PDF]
  4. 英国经济学专业哪些院校比较好?
  5. 30天自制操作系统【笔记】
  6. Ubuntu18+ 使用redshift调色温 夜间闪烁
  7. 思科德Exynos4412(2G内存)四核平板电脑方案
  8. 【Machine Learning 学习笔记】Stochastic Dual Coordinate Ascent for SVM 代码实现
  9. 「UG/NX」NX2212手动安装方法教程
  10. 为何自从熊猫烧香以后中国再也没有爆发过类似于此的大规模网络病毒事件?