位置: IT常识 - 正文

浅谈为什么磁盘慢会导致Linux负载飙升(为什么磁盘会消失)

编辑:rootadmin
这篇文章主要介绍了浅谈为什么磁盘慢会导致Linux负载飙升,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下... 18-02-01 一、CPU利用率和负载率的区别

推荐整理分享浅谈为什么磁盘慢会导致Linux负载飙升(为什么磁盘会消失),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:为什么明明磁盘空间很大,为什么磁盘占用率很高,为什么磁盘会消失,为什么磁盘占用一直是满的,为什么磁盘占用率很高,为什么说磁盘空间不足,为什么磁盘会消失,为什么说磁盘空间不足,内容如对您有帮助,希望把文章链接给更多的朋友!

这里要区别CPU负载和CPU利用率,它们是不同的两个概念,但它们的信息可以在同一个top命令中进行显示。CPU利用率显示的是程序在运行期间实时占用的CPU百分比,这是对一个时间段内CPU使用状况的统计,通过这个指标可以看出在某一个时间段内CPU被占用的情况, 如果被占用时间很高,那么就需要考虑CPU是否已经处于超负荷运作。而CPU负载显示的是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息。

CPU利用率高并不意味着负载就一定大,可能这个任务是一个CPU密集型的。一样CPU低利用率的情况下是否会有高Load Average的情况产生呢?理解占有时间和使用时间就可以知道,当CPU分配时间片以后,是否使用完全取决于使用者,因此完全可能出现低利用率高Load Average的情况。另外IO设备也可能导致CPU负载高。

由此来看,仅仅从CPU的使用率来判断CPU是否处于一种超负荷的工作状态还是不够的,必须结合Load Average来全局的看CPU的使用情况。网上有个例子来说明两者的区别如下:某公用电话亭,有一个人在打电话,四个人在等待,每人限定使用电话一分钟,若有人一分钟之内没有打完电话,只能挂掉电话去排队,等待下一轮。电话在这里就相当于CPU,而正在或等待打电话的人就相当于任务数。在电话亭使用过程中,肯定会有人打完电话走掉,有人没有打完电话而选择重新排队,更会有新增的人在这儿排队,这个人数的变化就相当于任务数的增减。为了统计平均负载情况,我们5秒钟统计一次人数,并在第1、5、15分钟的时候对统计情况取平均值,从而形成第1、5、15分钟的平均负载。有的人拿起电话就打,一直打完1分钟,而有的人可能前三十秒在找电话号码,或者在犹豫要不要打,后三十秒才真正在打电话。如果把电话看作CPU,人数看作任务,我们就说前一个人(任务)的CPU利用率高,后一个人(任务)的CPU利用率低。当然, CPU并不会在前三十秒工作,后三十秒歇着,CPU是一直在工作。只是说,有的程序涉及到大量的计算,所以CPU利用率就高,而有的程序牵涉到计算的部分很少,CPU利用率自然就低。但无论CPU的利用率是高是低,跟后面有多少任务在排队没有必然关系。

浅谈为什么磁盘慢会导致Linux负载飙升(为什么磁盘会消失)

CPU数量和CPU核心数(即内核数)都会影响到CPU负载,因为任务最终是要分配到CPU核心去处理的。两块CPU要比一块CPU好,双核要比单核好。因此,我们需要记住,除去CPU性能上的差异,CPU负载是基于内核数来计算的,即“有多少内核,即有多少负载”,如单核最好不要超过100%,也就是负载为1.00,如此类推。

Linux里有一个/proc目录,存放的是当前运行系统的虚拟映射,其中有一个文件为cpuinfo,这个文件里存放着CPU的信息。/proc/cpuinfo文件按逻辑CPU而非真实CPU分段落显示信息,每个逻辑CPU的信息占用一个段落,第一个逻辑CPU标识从0开始。

$ cat /proc/cpuinfo processor : 0vendor_id : GenuineIntelcpu family : 6model : 63model name : Intel(R) Xeon(R) CPU E5-2630 v3 @ 2.40GHzstepping : 2microcode : 0x36cpu MHz : 2399.998cache size : 20480 KBphysical id : 0siblings : 2core id : 0cpu cores : 2apicid : 0initial apicid : 0fpu : yesfpu_exception : yescpuid level : 15wp : yesflags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr ......bogomips : 4799.99clflush size : 64cache_alignment : 64address sizes : 42 bits physical, 48 bits virtualpower management:

要理解该文件中的CPU信息,有几个相关的概念要知道,如:processor表示逻辑CPU的标识、model name表示真实CPU的型号信息、physical id表示真实CPU和标识、cpu cores表示真实CPU的内核数等等。

逻辑CPU的描述:现在的服务器一般都使用了“超线程”(Hyper-Threading,简称HT)技术来提高CPU的性能。超线程技术是在一颗CPU同时执行多个程序而共同分享一颗CPU内的资源,理论上要像两颗CPU一样在同一时间执行两个线程。虽然采用超线程技术能同时执行两个线程,但它并不象两个真正的CPU那样,每各CPU都具有独立的资源。当两个线程都同时需要某一个资源时,其中一个要暂时停止,并让出资源,直到这些资源闲置后才能继续。因此超线程的性能并不等于两颗CPU的性能。具有超线程技术的CPU还有一些其它方面的限制。

二、CPU负载率的计算方式

Load average的概念源自UNIX系统,虽然各家的公式不尽相同,但都是用于衡量正在使用CPU的进行数量和正在等待CPU的进程数量,一句话就是runable processes的数量。所以Load average可以作为CPU瓶颈的参考指标,如果大于CPU的数量,说明CPU可能不够用了。

但是,在Linux上有点差异!

Linux上的load average除了包括正在使用CPU的进程数量和正在等待CPU的进程数量之外,还包括uninterruptible sleep的进程数量。通常等待IO设备、等待网络的时候,进程会处于uninterruptible sleep状态。Linux设计者的逻辑是,uninterruptible sleep应该都是很短暂的,很快就会恢复运行,所以被等同于runnable。然而uninterruptible sleep即使再短暂也是sleep,何况现实世界中uninterruptible sleep未必很短暂,大量的、或长时间的uninterruptible sleep通常意味着IO设备遇到了瓶颈。众所周知,sleep状态的进程是不需要CPU的,即使所有的CPU都空闲,正在sleep的进程也是运行不了的,所以sleep进程的数量绝对不适合用作衡量CPU负载的指标,Linux把uninterruptible sleep进程算进load average的做法直接颠覆了load average的本来意义。所以在Linux系统上,load average这个指标基本失去了作用,因为你不知道它代表什么意思,当看到load average很高的时候,你不知道是runnable进程太多还是uninterruptible sleep进程太多,也就无法判断是CPU不够用还是IO设备有瓶颈。

从另一个方面来说,也就可以解释为什么磁盘慢时(大量磁盘使用时),CPU负载会飙高了。基本上我碰到CPU负载高的情况就两种情况:CPU本身处理太多任务,再加上软中断和上下文切换太频繁导致负载高;再就是磁盘太慢导致了不可中断睡眠太多导致CPU负载高。

以上就是本文关于浅谈为什么磁盘慢会导致Linux负载飙升的全部内容,希望对大家有所帮助。感兴趣的朋友可以继续参阅本站其他相关专题,如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

本文链接地址:https://www.jiuchutong.com/zhishi/283846.html 转载请保留说明!

上一篇:vxe-table 表格多选框回显(excel多表操作法)

下一篇:OfcPfwSvc.exe - OfcPfwSvc是什么进程 有什么用

  • 房地产企业土地出让金抵减销项税额
  • 增值税留抵抵欠税政策解读
  • 结转本月销售材料实际成本分录
  • 出售无形资产属于资产处置损益吗
  • 建筑企业的成本
  • 小微企业零申报多久报一次税
  • 税负率是按月来算吗
  • 资产负债表里的存货包括哪些科目
  • 51电子发票客户端后使用教程
  • 境外公司委托境内公司付款
  • 关税的记税依据
  • 小规模纳税人汇算清缴要填什么表
  • 诉讼财产保全保险费计算
  • 上个月的进项发票可以这个月勾选吗
  • 公司拆迁安置所得的补偿款税务怎么处理
  • 开票不走公户
  • 工业企业水电费如何分摊
  • 各省市地税发票怎么开
  • 营改增后工程税收怎么计算
  • 农民专业合作社普通发票抵扣
  • 债转股需不需要交税
  • 年薪制与月薪制的优与劣
  • 成本费用跨年度怎么计算
  • 物流公司的保险服务属于什么费用
  • 汇算清缴补开票交税怎么写摘要?
  • 固定资产不动产和动产的区别
  • 营业执照办下来多久能在网上查到
  • 跨省银行承兑汇票可以接受吗
  • 去年管理费用多记账结账如何调账
  • mac电脑安装win10系统报错
  • 小规模纳税人免增值税的账务处理
  • win10 usb恢复
  • 不发工资先去劳动局投诉还是仲裁
  • macos如何备份
  • 如何设置路由器步骤要详细
  • 【2023-Pytorch-检测教程】手把手教你使用YOLOV5做电线绝缘子缺陷检测
  • yolo xml转txt
  • 金融性资产有哪些
  • ubuntu16.04.4安装教程
  • 多表关联join
  • chatb
  • 查找命令位置
  • 小规模纳税人能开6%增值税专用发票吗
  • 普通发票添加货品名称步骤
  • 小微企业的所得税税率是多少
  • python模块的扩展名
  • mysql5.7.27安装与配置
  • okhttp源码
  • 小规模纳税人怎么开增值税专用发票
  • 现代服务包括哪些内容是什么
  • 我向银行借钱我是贷方还是借方
  • 其他应付款不用付了会计分录
  • 母子公司之间借款要交税吗
  • 企业专项资金购买固定资产
  • 预付账款如何结账
  • 其他综合收益要转入投资收益吗
  • 企业重组合并
  • 材料报废处理
  • 个别会计报表和合并会计报表
  • 工程结算与开票的关系
  • 什么叫归集和分配
  • sql查询速度慢如何优化
  • freebsd使用wifi
  • centos7.5切换图形界面
  • 电脑系统不重装怎么恢复原状
  • linux必不可少的分区
  • win8初始登录账号密码
  • win7系统64位安装打印机的方法
  • xp磁盘空间不足怎么办
  • opengl es2.0
  • node.js安装模式选择
  • Compact 显示和更改 NTFS 分区上的文件或目录压缩
  • linux shutdown命令详解
  • js状态管理
  • javascript例题
  • div-d和div-i
  • 水利建设基金的税率
  • 用电稽查工作总结
  • 重芳烃闪点70,初馏点是多少
  • 辽宁省地方税务局公告2014年第10号
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设