Linux系统平均负载

news2024/11/18 21:40:50

我们经常会使用 top 命令来查看系统的性能情况,在 top 命令的第一行可以看到 load average 这个数据,如下图所示:

load average 包含 3 列,分别表示 1 分钟、5 分钟和 15 分钟的 系统平均负载

系统平均负载:

如果将 CPU 比作是桥梁,对于单核的 CPU 就好比是单车道的桥梁。每次桥梁只能让一辆汽车通过,并且要以规定的速度通过。那么:

  • 如果每个时刻都只有一辆汽车通过,那么所有汽车都不用排队,此时桥梁的使用率最高。以平均负载 1.0 表示,如下图所示:
  • 如果每隔一段时间才有一辆汽车通过,那么表示桥梁部分时间处于空闲的情况。并且间隔的时间越长,表示桥梁空闲率越高。此时的平均负载小于 1.0,如下图所示:
  • 当有大量的汽车通过桥梁时,有些汽车需要等待其他车辆通过后才能继续通行,这时表示桥梁超负荷工作。此时平均负载大于1.0,如下图所示:

        

系统的平均负载与上面的例子一样,在单核 CPU 的环境下:

  • 当平均负载等于 1.0 时,表示 CPU 使用率最高。
  • 当平均负载小于 1.0 时,表示 CPU 使用率处于空闲状态。
  • 当平均负载大于 1.0 时,表示 CPU 使用率已经超过负荷。

对于单核 CPU 来说,平均负载 1.0 表示使用率最高。但对于多核 CPU 来说,平均负载要乘以核心数。比如在 4 核 CPU 的系统中,当平均负载为 4.0 时,才表示 CPU 的使用率最高。

Linux 平均负载计算原理

在介绍系统平均负载的计算原理前,先要介绍一下什么是系统负载。在 Linux 系统中,系统负载表示 系统中当前正在运行的进程数量 ,

其包括 可运行状态 的进程数和 不可中断休眠状态 的进程数的和。注意:不可中断休眠状态的进程一般是在等待 I/O 完成的进程。

系统负载 = 可运行状态进程数 + 不可中断休眠状态进程数

知道了什么是 系统负载,那么 系统平均负载 就容易理解了。比如每 5 秒统计一次系统负载,1 分钟内会统计 12 次。如下所示:

然后把每次统计到的系统负载加起来,再除以统计次数,即可得出 系统平均负载。如下图所示

但这种计算方式有些缺陷,就是预测系统负载的准确性不够高,因为越老的数据越不能反映现在的情况。打个比方,要预测某条公路今天的车流量,使用昨天的数据作为预测依据,会比使用一个月之前的数据作为依据要准确得多。

所以,时间越近的数据,对未来的预测准确性越高。

Linux 内核使用一种名为 指数平滑法 的算法来解决这个问题,指数平滑法的核心思想是对新老数据进行加权,越老的数据权重越低。

load average:每隔5s检查一次活跃的进程数,然后按特定算法计算出来的。一般当这个数值除以CPU的核数得到的值大于3~5时,就标明系统的负载压力已经很高了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1270090.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

多媒体信号处理复习笔记 --脑图版本

多媒体信号处理复习笔记 --脑图版本 依据 [2020多媒体信号处理复习笔记] 考前复习时使用Xmind制作 例图: PDF下载 BaiduYunPan 提取码:jbyw CSDN 下载

LeetCode2514.统计同位异构字符串数目

题目简单,关键是灵茶山艾府的代码写起来太优美,不得不记录一下 const int Mod 1e97; using ll long long; ll qmi(ll a,ll b,ll mod){ll res 1;while(b){if(b&1)res res*a%mod;aa*a%mod;b>>1;}return res; }class Solution { public:int c…

[黑皮系列] 计算机网络:自顶向下方法(第8版)

文章目录 《计算机网络:自顶向下方法(第8版)》简介作者目录前言配套公开课 《计算机网络:自顶向下方法(第8版)》 出版信息: 原作名: Computer Networking: A Top-Down Approach 作者: [美] Jame…

LangChain 15根据问题自动路由Router Chain确定用户的意图

LangChain系列文章 LangChain 实现给动物取名字,LangChain 2模块化prompt template并用streamlit生成网站 实现给动物取名字LangChain 3使用Agent访问Wikipedia和llm-math计算狗的平均年龄LangChain 4用向量数据库Faiss存储,读取YouTube的视频文本搜索I…

ApiSix的docker 容器化部署及使用

⼀.etcd安装 Docekr安装Etcd 环境准备 此处安装,是利⽤下载的 etcd 源⽂件,利⽤ docker build 构建完整镜像,具体操作如下: 1.环境准备 1.1. 新建⽂件夹 在磁盘某个路径下新建⼀个⽂件夹,⽤处操作 Dockerfi…

13:kotlin类和对象 -- 属性(Properties)

定义属性 类属性可使用var和val定义 class Address {var name: String "Holmes, Sherlock"var street: String "Baker"var city: String "London"var state: String? nullvar zip: String "123456" }属性使用 fun copyAddres…

00Hadoop数据仓库平台

在这里是学习大数据的第一站 什么是数据仓库常见大数据平台组件及介绍 什么是数据仓库 在计算领域,数据仓库(DW 或 DWH)也称为企业数据仓库(EDW),是一种用于报告和数据分析的系统,被认为是商业智…

深度学习实现语义分割算法系统 - 机器视觉 计算机竞赛

文章目录 1 前言2 概念介绍2.1 什么是图像语义分割 3 条件随机场的深度学习模型3\. 1 多尺度特征融合 4 语义分割开发过程4.1 建立4.2 下载CamVid数据集4.3 加载CamVid图像4.4 加载CamVid像素标签图像 5 PyTorch 实现语义分割5.1 数据集准备5.2 训练基准模型5.3 损失函数5.4 归…

vuepress-----2、初体验

2、初体验 目标 创建GitHub账号创建Github项目初体验vuepress默认主体的首页 初体验 (opens new window) --- home: true heroImage: /hero.png heroText: Hero 标题 tagline: Hero 副标题 actionText: 快速上手 → actionLink: /zh/guide/ features: - title: 简洁至上deta…

mac安装homebrew/brew遇到443

文章目录 问题描述解决方法方法一方法二 参考文献 问题描述 brew 全称Homebrew 是Mac OSX上的软件包管理工具 想在mac终端安装,运行网上提供的指令 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)&quo…

【开源视频联动物联网平台】视频AI智能分析部署方式

利用视频监控的AI智能分析技术,可以让视频监控发挥更大的作用,成为管理者的重要决策工具。近年来,基于视频监控的AI分析算法取得了巨大的发展,并在各种智慧化项目中得到了广泛应用,为客户提供更智能化的解决方案。 然…

淘宝商品详情数据接口(店铺搬家、数据分析、代购商城、ERP选品、无货源铺货、品牌监控)

使用淘宝API接口需要以下步骤: 注册开发者账号:在淘宝开放平台(https://o0b.cn/anzexi)上注册一个开发者账号,并创建一个应用。 获取API密钥:在应用页面上获取API密钥,这是后续调用API接口的凭…

前端魔法:掌握动态 class,让网页元素随心所欲

前言 当你动态的添加类名,在某个变量匹配需求时自动切换到某个类名,实现其对应的效果。这个过程就是我们常说的动态 class,今天就和大家一起聊聊前端中的动态 class。 一、对象语法 1.1 绑定单个 class 我们可以传给 v-bind:class 一个对象&…

034.Python面向对象_综合案例

我 的 个 人 主 页:👉👉 失心疯的个人主页 👈👈 入 门 教 程 推 荐 :👉👉 Python零基础入门教程合集 👈👈 虚 拟 环 境 搭 建 :👉&…

linux用户管理_用户和组

2 用户管理 2.1 用户和组的基本概念和作用 2.1.1 账户实质 账户实质就是一个用户在系统上的标识,系统依据账户ID来区分每个用户的文件、进程、任务,给每个用户提供特定的工作关键(如用户的工作目录、SHELL版本以及环境配置等)&…

SDK emulator directory is missing

要进行uniapp真机测试,不得不安装配置一下安卓开发环境 ,搞一个模拟器。。。然后又是各种坑。。对比来对比去还是IOS的环境使用着舒服,XCODE下载好,一切重点就是在编码了。。 安卓这个脑残货呀,哎,各种安装…

Springboot——HttpClient入门(Get和Post)

1. HttpClient 1.1 介绍 HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 HttpClient作用: 发送HTTP请求接收响应数据…

网站优化进阶指南:如何用Python爬虫进行网站结构优化

前段时间一个做网络优化的朋友找我,问我能不能通过爬虫的手段对他们自己的网络进行优化。这个看着着实比较新颖,对于从事爬虫行业的程序员来说,很有挑战性,值得尝试尝试。 说白了使用爬虫进行网站优化需要对网站的结构、内容、链…

详解前后端交互时PO,DTO,VO模型类的应用场景

前后端交互时的数据传输模型 前后端交互流程 前后端交互的流程: 前端与后端开发人员之间主要依据接口进行开发 前端通过Http协议请求后端服务提供的接口后端服务的控制层Controller接收前端的请求Contorller层调用Service层进行业务处理Service层调用Dao持久层对数据持久化 …

如何让电脑每天定时自动关机?

如何让电脑每天定时自动关机?电脑已经成为社会生产活动中不可或缺的一种工具,它对于我们每个人都非常的重要,不管是工作、生活还是学习中,我们都需要利用电脑。不过很多小伙伴因为繁忙或者因为其它的事情,导致电脑经常…