CPU、内存、磁盘IO之间的关系

CPU和内存的关系:

  • CPU是负责运算和处理的
  • 内存是交换数据的

       当程序或者操作者对CPU发出指令,这些指令和数据暂存在内存里,在CPU空闲时传送给CPU,CPU处理后把结果输出到输出设备上,输出设备就是显示器,打印机等。在没有显示完之前,这些数据也保存在内存里,如果内存不足,那么系统自动从硬盘上划分一部分空间作为虚拟内存来用。但写入和读取的速度 跟物理内存差的很远很远,所以,在内存不足的时候,会感到机器反应很慢,硬盘一直在响。
       512M的物理内存如果增加到2GB,你会感到电脑变得飞快。但内存512,即使你把CPU从单核换成双核,加速感觉也不明显。如果你本来就有2G内存,再增加2G,使用起来几乎没有多少性能的改变。在理论上,物理内存太大反而会减慢速度,因为它增加了寻址的时间。所以家用机器推荐使用2GB-4GB足矣。

CPU、内存、磁盘IO之间的关系

  • CPU:工人,干活的,判断以及逻辑处理
  • 内存:车间,工人干活的地方,车间中加工原料,当车间中没有原料了,在从仓库中取原料,对原料进行加工
    内存本身有一定的存储空间,对内存中的数据进行处理的速度比从硬盘取数据再处理的速度快很多
  • 硬盘:仓库,原料,数据存储

       CPU对数据进行判断以及逻辑处理,本身不能存储数据,这时cpu从内存取数据进行逻辑计算,如果内存没有数据,才会从硬盘读数据到内存,再对数据进行处理
就像人吃饭一样,cpu就是人,内存就是碗,硬盘就是饭锅。
       当cpu进程等待,会造成内存开销的增加,内存不够用的时候会用到虚拟内存,导致虚拟内存的增加,这时磁盘IO开销就会增加,系统态sy%提升,cpu开销增加
内存里数据不够用,才用磁盘中取数据。
       内存中的信息会随断电而丢失,硬盘中的信息会持久化存在。

CPU过高的原因常有?

  • 计算量大,比如运算,连接查询,数据统计
  • 非空闲等待,比如IO等待、资源争用(同一资源被不同线程请求,而此资源又需要保持一致性,只能前一个释放后一个再访问,这样导致的等待)
  • 过多的系统调用,系统调用即调用操作系统提供的程序接口,比如Java项目中写日志,会调用系统接口进行日志写操作,这样会导致系统CPU使用率过高
  • 过多的中断,中断是CPU用来响应请求的机制,比如键盘的输入,鼠标的点击等都会产生中断,中断是通知CPU有任务需要响应,CPU停下正在执行的程序来响应当前的中断

CPU过高具体影响什么?

       cpu使用率过高直接导致cpu温度过高,这样会简短cpu的寿命的,而且还会影响你对其他软件的正常使用,导致其他软件速度慢。
       如果CPU使用一直是在85%以上的话,会对电脑有危害的, 不会对CPU产生危害。
CPU的利用率是指CPU做运算时,达到自己额定频率的百分比,这个利用率高的时候,能够消耗更多的电能和产生更多的热量。
       超过75度会对CPU产生危害,因为当CPU温度超过75度时,除了可能烧坏CPU之外,还可能因为电子转移过快而影响CPU寿命。

内存吃紧的原因?

多数是过多的页交换和内存泄漏

页交换:内存不够用来存储需要的数据时,操作系统会把原内存中的部分内容释放掉(移除或者存入磁盘),然后把需要的内容载入,这个过程就是页交换。

参考博客:http://it.dataguru.cn/thread-542839-1-1.html
https://zhidao.baidu.com/question/221784091.html

©️2020 CSDN 皮肤主题: 游动-白 设计师:上身试试 返回首页