理解Linux和其他UNIX-Like系统上的平均负载
    

Linux,Mac以及其他UNIX-like系统都能显示出“load average”信息。这些数字告诉你,你系统的CPU、硬盘、以及其他资源的忙碌程度。他们看起来很难理解,但是要想熟悉他们其实非常容易。
无论你是在用Linux桌面版还是服务器版,亦或是基于Linux的路由器固件、基于Linux或BSD的网络附属存储系统,甚至是Mac OS X,你随时随地都有可能看到“load average”的度量值。
负载VS平均负载
在UNIX-like系统上,包括Linux系统,系统负载是用来评估系统执行了多少工作的度量,这种度量是用数字显示出来的。一台完全处于空闲状态的计算机,其平均负载为0。每一个处于运行状态的进程,不管它是正在使用还是在等待CPU资源,都会给平均负载加1。所以如果你的系统的平均负载是5,说明有5个进程正在使用或等待CPU。
传统的UNIX系统一般仅对等待CPU的进程计数,但是Linux也把等待其他资源的进程一并计数进去。例如那些正在等待读写硬盘的进程。
就其本身而言,负载参数并不意味着什么,若一些进程在使用CPU,那么计算机在一瞬间可能负载为0,而在另一瞬间又可能负载为5,。即使你在任何给定时刻都能知道负载数目,这些数字基本上也没有什么意义。
这就是UNIX-like系统不显示当前时刻负载的原因。它们使用平均负载——在几个时间周期内,计算机负载的平均值。这些会告诉你,你的计算机到底执行了多少工作。

查看平均负载
平均负载可以显示在不同的图形以及终端工具上,包括命令行以及gnome系统监视工具。其实,查看你的平均负载最简单、最标准的方式是在终端里运行“uptime”命令。这个命令显示了你计算机的平均负载,还有计算机已经开启的时间。
uptime命令可以运行在Linux,Mac OS X或者是其他UNIX-like系统中。如果你使用的Linux或基于BSD的设备有一个web界面——例如DD-WRT路由固件或NAS系统——你将有可能在状态页面上看到平均负载信息。

理解平均负载
你第一眼看到平均负载,这数字看起来完全没有意义。下面是一个平均负载的输出示例
load average: 1.05, 0.70, 5.09
从左到右,这些数字展示给你过去1分钟、过去5分钟、过去15分钟的平均负载。换句话说,上面的输出意思是:
过去1分钟平均负载:1.05
过去5分钟平均负载:0.70
过去15分钟平均负载:5.09
省略输出时间周期是为了节省空间,只要你熟悉了时间周期,你可以迅速的扫一遍平均负载数并且理解他们意味着什么。

确切的讲,这些数字到底意味着什么
让我们使用上面的数字来理解平均负载的实际意义。假设你使用的是单处理器系统,这些数字将会告诉我们:
在过去的1分钟里:计算机平均过载5%。平均来说,.05个进程正在等待CPU。(1.05)
在过去的5分钟里:CPU 30%的时间保持空闲。(0.70)
在过去的15分钟里:计算机平均过载409%。平均来说,4.09的进程正在等待CPU。(5.09)
你的系统也许有多个CPU,或者有多核CPU。那么平均负载就会有一点不同。例如,如果你在单处理器系统上的平均负载是2,这意味着你的系统过载了100%——在整个时间周期里,当一个进程在使用CPU时,另一个进程在等待CPU。然而在有两个CPU的系统上,这正好表示资源完全使用——再整个时间周期里,两个不同的进程在使用两个不同的CPU。在四个CPU的系统上,这表明资源使用量是一半——两个进程使用两个CPU,另外两个CPU空闲。
要想理解平均负载数字的意义,你需要知道你的系统有多少个CPU,平均负载6.03意味着单CPU系统过载严重,但是在8个CPU的系统上却表示运行良好。

IEPL专线是采用时分复用技术(TDM),利用数字信道提供永久或半永久性的以数字信号为主的数字网络。它是一种纯物理层、半永久性的网络,也就是说它只负责把数据从A点传送到B点,而不管数据被封装成何种形式。

平均负载在服务器和嵌入式系统上非常有用,你可以扫视一遍来确定你系统的运行状态。如果过载了,你也许需要处理一下那些浪费资源的进程,多提供一些硬件资源,或者是把一些工作转移到另一个系统上。

理解Linux和其他UNIX-Like系统上的平均负载相关推荐

  1. 在linux(ubuntu16.04)系统上安装RTL8822CE网卡驱动

    在linux(ubuntu16.04)系统上安装RTL8822CE网卡驱动 1.下载8822CE驱动https://github.com/alanfox2000/realtek-linux/tree/ ...

  2. CentOS Linux release 7.8.2003 系统上部署KVM系统

    CentOS Linux release 7.8.2003 系统上部署KVM系统 1.升级内核操作 yum update -y kernel kernel-firmware reboot 2. 安装必 ...

  3. 如何理解和分析linux系统的CPU平均负载情况(load average)

    最近研究linux时接触到了一个新的概念,叫做CPU的平均负载(load average).之前都只听说过CPU的使用情况,很少听说过负载情况.于是对这个概念进行了一下研究学习,总结如下,以便日后查阅 ...

  4. 在Linux和Mac OS X系统上运行.NET

    .NET Core运行时已经看到了实现真正的跨平台的美好前景,它最终出现在Linux和Mac OS X平台上.在上周举办的Microsoft Build大会上,来自微软的项目经理Habib Heyda ...

  5. metasploit下载教程linux,在Debian 10/9系统上安装Metasploit Framework的方法

    本文介绍在Debian 10/9操作系统上安装Metasploit Framework的方法,以脚本的方式安装,全程相当的简单,按照以下步骤操作即可. 在Debian 10/Debian 9上安装Me ...

  6. Linux性能优化一:CPU优化以及平均负载的理解

    文章目录 前言: 什么是系统性能调优 到底怎么理解平均负载 它和CPU使用率的关系 平均负载多少合适 如何分析平均负载 平均负载升高的实战模拟 场景:CPU密集型进程 场景二:I/O密集型程序 前言: ...

  7. linux cpu平均负载,关于linux系统CPU篇---平均负载

    1.什么是平均负载?(load average) 平均负载是指单位时间内平均活跃进程数,包括可运行状态的进程数,以及不可中断状态的进程(如等待IO,等待硬件设备响应) 2.如何查看平均负载? 使用to ...

  8. 深入理解Linux内核之内核线程(上)

    1.开场白 环境: 处理器架构:arm64 内核源码:linux-5.11 ubuntu版本:20.04.1 代码阅读工具:vim+ctags+cscope 在linux系统中, 我们接触最多的莫过于 ...

  9. linux 安装mysql5.7.12_Linux系统上安装mysql5.7.12

    在Linux上安装mysql 环境:windows7 虚拟机:Oracle VMVirtualBox Linux: ubuntukylin-14.04.1-amd64.iso mysql:5.7.12 ...

最新文章

  1. 工程师文化播客: 从工程转向管理,访谈Github公司的Phil Haack
  2. ubuntu 的QT4的qmake失败的处理方法
  3. 与毒”共舞30年!清华美女研究生为何放弃高薪,选择特招入伍?背后的原因令人泪崩......
  4. wps中图片怎么居中_wps图片怎么添加推动声
  5. VS2010下如何改变Button颜色、背景、边框
  6. Android中文乱码彻底解决
  7. windows下安装canal_Windows环境下python的安装与使用
  8. (转)机器学习入门,强烈推荐
  9. SpringMVC (三)处理器映射器的配置和AbstractController的使用
  10. 示波器触发功能中的释抑
  11. 联想拯救者Y7000P拆机清灰学习
  12. 分享NetSuite CRM成功实施案例!
  13. Java 中的 String、StringBuffer、StringBuilder
  14. vue+cordova 实现第三方登录( QQ 微信 微博)之微博登录
  15. 不从SD卡启动树莓派2
  16. java 注解 @Deprecated
  17. html 怎么获取焦点的位置,jQuery怎么获取焦点?
  18. 8Manage:采购谈判的6个成功策略
  19. 【每日新闻】1.7万元起!华为发布首款5G折叠屏手机!
  20. 基因组注释1. 重复序列repeatmasker, trf

热门文章

  1. 【转】Android使用嵌入式关系型SQLite数据库存储数据【学习记录】
  2. WPF学习笔记(03) - 华丽的HelloWorld
  3. Linux|UNIX下LAMP环境的搭建及常见问题[连载4]
  4. Fiddler代理手机抓包
  5. MYSQL5.7 忘记ROOT密码/初始化ROOT密码
  6. 从敲入 URL 到浏览器渲染完成、对HTTP协议的理解
  7. 表单验证AngularJs
  8. str字符串 encoding( ) 方法
  9. CentOS7路由、端口和服务排障常用命令
  10. nyoj298_点的变换_错误