linux选择运行的核数量,linux – 如何根据可用内核的数量选择最大负载阈值?

负载在Linux上经常被误解.

在Linux上,它是运行或不间断睡眠状态中所有任务的度量.

请注意,这是任务,而不是进程.线程包含在此值中.

内核每五秒计算一次加载,并且是一个加权平均值.这是微小负载是平均5/60,五分钟5/300和十五分之五.

一般来说,作为一个纯数字的负载在没有参考点的情况下几乎没有价值,我认为这个值经常被误传.

误解1:作为比率加载

In other words,how can I know what maximum load average a machine can support before performance starts to degrade?

这是人们在Linux中加载最常见的谎言.它可用于测量某些固定比率的cpu性能.这不是负载给你的东西.

详细说明 – 人们很容易理解cpu利用率.随着时间的推移,这是实用你完成工作,然后通过工作分工.

在这方面可能的工作是固定的已知值,通常表示为100的百分比 – 即固定比率.

然而,负载没有约束.没有固定的最大值,这就是为什么你难以理解要测量什么.

澄清采样的负载确实具有不固定的最大值,这是采样时系统中当前存在的任务总数(这与正在进行的cpu工作没有实际关系).

如果计算加权,则计算出的负载没有固定的最大值,因为它被投入加权平均值并且没有给出任务数量的记录.

因为我喜欢食物,你可以给出的类比是,利用率是你吃盘子的速度和平均负荷 – 平均而言 – 你剩下多少盘子.

因此,cpu效用和负载之间的差异是微妙但重要的. cpu实用程序是衡量工作的标准,负载是衡量需要完成的工作的标准.

误解2:负载是即时测量

第二个谬论是Load是一个粒度测量.您可以读取数字并了解系统状态.

负载不是粒度的,而是表示系统的一般长期条件.它不仅每五秒采样一次(因此错过了在5秒窗口内发生的任务),而是分别以1,5和15分钟的平均值进行测量.

您无法将其用作容量的即时衡量标准,而是在较长时间内对系统负担的一般意义.

负载可以是100,然后仅在30秒后为10.它是你必须继续观看的价值.

Load可以告诉你什么?

它可以让您了解系统的工作趋势.它被给予的能力超过它能应付的程度还是更低?

>如果负载小于您拥有的cpu数(通常),则表示您的cpu容量大于工作量.

>如果负载大于或等于cpu的数量并且趋势向上,则表明系统的工作量超出其处理能力.

>如果负载大于或等于cpu的数量并且向下趋势,则表明系统正在完成工作的速度比您给它要做的事情要快.

由于不间断的睡眠状态,这确实使负载值混淆为纯粹的工作安排得分 – 但是可以指示磁盘上有多少需求(它仍需要在技术上完成工作).

负载还提供系统异常的线索.如果你看到负荷在50,那表明有些不对劲.

另外加载会导致人们无缘无故地关注.

>众所周知,磁盘活动可以增加负载.

>如果许多进程绑定到正在等待的一个cpu,则可以人为地加载负载.

>具有极低优先级(niceness)的任务通常需要等待很长时间才能为该特定进程将负载膨胀1.

综上所述

我发现负载是一个非常粗糙的值,恰恰是没有绝对的.您在一个系统上进行的测量通常对另一个系统没有意义.

它可能是我在顶部看到的第一件事,纯粹是为了检查明显的异常现象.基本上我使用它几乎像一个温度计 – 就像一个系统的一般条件.

我发现它的采样周期太长,以至于我扔在我的系统上的大多数工作负载(通常以秒为单位运行,而不是几分钟).我认为执行长时间运行密集型任务的系统是有意义的,但我并没有真正做到这一点.

我用它的另一件事是长期容量管理.在很长一段时间(几个月)内绘制图表是一件好事,因为您可以使用它来了解与几个月前相比您处理的工作量.

最后,回答您关于在您的方案中应该做什么的问题.

老实说,我提供的最佳建议是考虑使用load作为何时运行 – 使用nice来执行你的进程,让其他进程优先于它.出于某些原因,这很好.

>当其他进程忙时,您只需为此进程提供少量cpu时间.

>如果cpu上没有任何内容或cpu处于空闲状态,则您的任务将100%花费在其上.

>进程组中的所有进程都继承了相同的优点.

好于0(默认值),每个进程的权重为1024.权重越低,cpu提供给进程的时间就越少.这是一个表格.

Nice Weight

0 1024

1 820

2 655

3 526

4 423

5 335

6 272

7 215

8 172

9 137

10 110

11 87

12 70

13 56

14 45

15 36

16 29

17 23

18 18

19 15

因此,要比较,在您有2个进程等待运行的情况下 – 如果您重新设置进程10,它将获得优先级0进程所占cpu时间的大约1/10.如果你将它重新计算19,它将获得优先级0进程所占cpu时间的1/100.

应该注意的是,至少在管道持续时间内,您可能会看到负载为1.

我想这对你的问题来说会更优雅.

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

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

相关文章

使用nginx代理,怎么获取真实的IP

1.在nginx.conf配置中加入配置信息 proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-NginX-Proxy true; 2.然后…

英语发音规则---S字母

英语发音规则---S字母 一、总结 一句话总结: 1、S 在音节开头或清辅音前 /s/? sit /sɪt/ vt.& vi.坐seat /si:t/ n.席位sell /sel/ vt.& vi.卖,售sold /səʊld/ v.卖,售sleep /sli:p/ vi.睡slow /sləʊ/ adj.慢的skate…

Mysql windows 安装提示MSVCR120.dll文件丢失

电脑上已经按照了vc运行库,但是报错。 原因:文件被恶意程序破坏了 解决方法:到微软官网下载 VC redist packages for x64。点击跳转 vcredist_x64.exe 如果是32位,则选vcredist_x32.exe 安装完后会提示重启电脑,不…

catcti监控linux主机,CentOS7搭建Prometheus 监控Linux主机

简介prometheus可以拆分成多个节点进行指标收集。安装prometheuswget -c https://github.com/prometheus/prometheus/releases/download/v2.23.0/prometheus-2.23.0.linux-amd64.tar.gztar zxvf prometheus-2.23.0.linux-amd64.tar.gz -C /opt/cd /opt/ln -s prometheus-2.23.…

自己动手实现一个html2canvas

前言 昨天写了新手引导动画的4种实现方式, 里面用到了 html2canvas 于是就顺便了解了一下实现思路. 大概就是 利用 svg 的 foreignObject 标签, 嵌入 dom, 最后再利用 canvas 绘制 svg. 从而实现最终目的. 先让大家看看效果 MDN示例 var canvas document.getElementById(canva…

Git fetch pull 详解

1、简单概括 先用一张图来理一下git fetch和git pull的概念: 可以简单的概括为: git fetch是将远程主机的最新内容拉到本地,用户在检查了以后决定是否合并到工作本机分支中。 而git pull 则是将远程主机的最新内容拉下来后直接合并&#x…

linux 安装redis2.8.3,Linux及Windows安装Redis(详细)

标签:Linux及Windows安装Redis1.Windows安装教程1.1下载https://github.com/MSOpenTech/redis/releases进入github里下载redis Windows版压缩包将我们下载好的文件放进新建的一个Redis文件夹(我在C盘创建了一个redis的文件夹)1.2启动服务打开我们Windows版的dos命令…

Git 少用 Pull 多用 Fetch 和 Merge

转自:http://www.oschina.net/translate/git-fetch-and-merge --------------------------------------------------------------------------------- 本文有点长而且有点乱,但就像Mark Twain Blaise Pascal的笑话里说的那样:我没有时间让…

IDEA生成可运行jar包

方式1: maven打包 maven 包中添加如下配置 <build><plugins><plugin><artifactId>maven-assembly-plugin</artifactId><configuration><appendAssemblyId>false</appendAssemblyId><descriptorRefs><descriptorRef&…

linux packet socket,linux Packet socket (1)简单介绍

本文主要来自于linux自带的man packet手冊&#xff1a;http://man7.org/linux/man-pages/man7/packet.7.html平时常常使用的INET套接字提供的是7层的抓包能力&#xff0c;抓上来的data直接就是tcp或者udp的payload&#xff0c;无需关心L3和L4的头部信息。Packet套接字提供的是L…

TortoiseGit 修改密码

当TortoiseGi默认设置了凭证助手为“管理器-所有windows用户”&#xff0c;每次向远程git推送时&#xff0c;都会去windows的凭证管理器里读取值&#xff0c;然后推送。 如果密码修改了&#xff0c;或者密码不小心输入错了&#xff0c;每次提交都会报错&#xff1a;HTTP Basic:…

linux系统常见操作,Linux系统基本操作

我们可以认为Linux是一套自由使用的类Unix操作系统&#xff0c;与Windows相比较而言&#xff0c;Linux具有安全、开源、稳定等特点。下面我来介绍Linux中一些的登录登出基本操作。1. 启动系统通常LILO是安装在MBR上的&#xff0c;计算机启动后&#xff0c;MBR上的程序被执行&am…

字符串常见处理

mystr hello world itcast and itcastcpps mystr.find(hello)print(s)ind mystr.index(world)print(ind)cou mystr.count(c)print(cou)rep mystr.replace(c,)print(rep)spl mystr.split( )print(spl)转载于:https://www.cnblogs.com/zxt-cn/p/9714841.html

git 无法访问

git分2种访问方式&#xff1a;ssh&#xff0c;https ssh模式&#xff0c;需要在github或gitlab上配置公钥&#xff0c;本地要生成秘钥。 举例&#xff1a; 公司使用gitlab 张工需要访问公司李工的代码库。 步骤&#xff1a; 1、李工要在gitlab他的项目里&#xff0c;给张…

c语言编程统计单词的个数,使用c语言如何统计单词个数

使用c语言如何统计单词个数发布时间&#xff1a;2020-04-21 13:58:58来源&#xff1a;亿速云阅读&#xff1a;207作者&#xff1a;小新使用c语言如何统计单词个数&#xff1f;相信有很多人都不太了解&#xff0c;今天小编为了让大家更加了解Golang&#xff0c;所以给大家总结了…

10 种保护 Spring Boot 应用的绝佳方法

Spring Boot大大简化了Spring应用程序的开发。它的自动配置和启动依赖大大减少了开始一个应用所需的代码和配置量&#xff0c;如果你已经习惯了Spring和大量XML配置&#xff0c;Spring Boot无疑是一股清新的空气。 Spring Boot于2014年首次发布&#xff0c;自那以后发生了很多变…

zkServer.cmd 闪退

调用 zkEnv.cmd 查看下 zkEnv.cmd 在\conf下复制zoo_sample.cfg 重命名为 zoo.cfg 再运行&#xff0c;成功

c语言单字符输入和输出函数分别为,第03章单元总练习-实训-知识拓展.doc

第03章单元总练习-实训-知识拓展《C语言程序设计》单元总结单元练习实训指导知识拓展第三章 最简单的C程序设计——顺序结构设计班级:姓名:学号:单元总结提升本单元中&#xff0c;核心内容有C语言中基本的数据类型、常量和变量、运算符和表达式以及算法的概念。通过本单元的学习…

那些你不知道的 getClientRects()

1.getClientRects()。是可以获取内联元素的内容有多少行 最近一个交互&#xff0c;在限定文字展现是5行&#xff0c;超过5行&#xff0c;则在后面添加。。。展开。如果没有展开二字&#xff0c;我们一般用css就能完成了。但是为了交互更人性化 text-overflow: -o-ellipsis-last…

idea统计代码行数

使用统计代码插件&#xff0c;可以统计代码行数。安装插件 Statistic。&#xff08;这个最好用&#xff09; File----settiing---plugins---browse repositories 重启idea后&#xff0c;底部会多一个 Statistic 点击刷新&#xff0c;行数就出来了。看最后的 Total