返回顶部
首页 > 资讯 > 精选 >CPU、内存、磁盘IO之间的关系是什么
  • 492
分享到

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

2023-06-05 19:06:52 492人浏览 安东尼
摘要

本篇内容主要讲解“CPU、内存、磁盘io之间的关系是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CPU、内存、磁盘IO之间的关系是什么”吧!一、名词解释CPU:工人,干活的,判断以及逻辑处

本篇内容主要讲解“CPU、内存、磁盘io之间的关系是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CPU、内存、磁盘IO之间的关系是什么”吧!

一、名词解释

CPU:工人,干活的,判断以及逻辑处理。

内存:车间,工人干活的地方,车间中加工原料,当车间中没有原料了,在从仓库中取原料,对原料进行加工

内存本身有一定的存储空间,对内存中的数据进行处理的速度比从硬盘取数据再处理的速度快很多。

硬盘:仓库,原料,数据存储。

二、三者之间的关系

CPU对数据进行判断以及逻辑处理,本身不能存储数据,这时cpu从内存取数据进行逻辑计算,如果内存没有数据,才会从硬盘读数据到内存,再对数据进行处理。

就像人吃饭一样,cpu就是人,内存就是碗,硬盘就是饭锅!

当cpu进程等待,会造成内存开销的增加,内存不够用的时候会用到虚拟内存,导致虚拟内存的增加,这时磁盘IO开销就会增加,系统态sy%提升,cpu开销增加;内存里数据不够用,才用磁盘中取数据。

三、性能高因素

1、系统CPU利用率高是什么原因?

系统中断和切换频繁很耗用CPU,共享资源竞争,大量io交互。CPU太差,主频太低,都是形容CPU差。

苹果系统一直是单线程,因为这样减少了N多插队的请求导致的中断减速.

2、用户CPU利用率高是什么原因?

计算量大,比如运算,连接查询,数据统计;

非空闲等待,比如IO等待、资源争用(同一资源被不同线程请求,而此资源又需要保持一致性,只能前一个释放后一个

再访问,这样导致的等待);

过多的系统调用,系统调用即调用操作系统提供的程序接口,比如Java项目中写日志,会调用系统接口进行日志写操作,这样

会导致系统CPU使用率过高;

过多的中断,中断是CPU用来响应请求的机制,比如键盘的输入,鼠标的点击等都会产生中断,中断是通知CPU有任务需

要响应,CPU停下正在执行的程序来响应当前的中断;

3、内存吃紧的原因?

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

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

的内容载入,这个过程就是页交换。

4、下面IO高的原因是?

读写量大;磁盘太慢,是因为转速慢,或者磁头少,或者RaiD 型号不太OK(RAID 有  0 1 5 10 100 等等,有的可以做存储盘,有的可以做备份盘);

内存不足,操作系统就会用虚拟内存,肯定要用系统的交换区了,比如linux 的SWAP,就造成分页增多;

如果你是老板,你如何检查打工仔的效率(性能)呢? 我们一般会通过以下这些信息来判断打工仔是否偷懒:

(1)、打工仔接受和完成多少任务并向老板汇报了(中断);

(2)、打工仔和老板沟通、协商每项工作的工作进度(上下文切换);

(3)、打工仔的工作列表是不是都有排满(可运行队列);

(4)、打工仔工作效率如何,是不是在偷懒(CPU 利用率);

四、系统中的上下文切换 、运行队列等

上下文切换:每个CPU(或多核CPU的每个核心)在同一时间只能执行一个线程<不包括超线程CPU>,Linux采用抢占式调度。

当线程执行到达一个时间片后,如果线程有IO阻塞或高优先级线程要执行的时候,Linux将执行线程切换,切换前先保存当

前线程执行状态(现场),并恢复待执行线程状态,这个过程就叫做上下文切换。在Java应用中,文件IO、网络IO、等待、线

程Sleep操作都会使该线程进行阻塞或睡眠状态,从而触发上下文切换。频繁的上下文切换会造成内核占用较高的CPU,使得

响应速度下降。

运行队列:每个CPU核心都维护了一个可运行队列,例如一个4核CPU,启动8个线程,且8个线程都处于可运行状态,平均

分配情况下,每个核心的可运行队列里就有2个线程。通常而言,系统的load是由CPU运行队列决定的,假设以上状态维持

了1分钟,则1分钟内系统load就是2。运行队列值越大,代表线程要消耗越长的时间才能执行完成。通常建议每个核心运行

队列为1-3个。

利用率:CPU利用率指在用户进程,内核,中断处理,IO等待以及空闲五个部分百分比,这五个值是用来分析CPU消耗情

况的关键指标。Linux System and NetWork PerfORMent Monitoring建议用户进程/内核消耗比例为 65%-70% / 30%-3

5% 左右。

到此,相信大家对“CPU、内存、磁盘IO之间的关系是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

--结束END--

本文标题: CPU、内存、磁盘IO之间的关系是什么

本文链接: https://lsjlt.com/news/244312.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • CPU、内存、磁盘IO之间的关系是什么
    本篇内容主要讲解“CPU、内存、磁盘IO之间的关系是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“CPU、内存、磁盘IO之间的关系是什么”吧!一、名词解释CPU:工人,干活的,判断以及逻辑处...
    99+
    2023-06-05
  • Linux体检,了解你的Linux状态(网络IO,磁盘,CPU,内存)
    目录1、核心命令2、常用命令3、核心命令详解3.1、ps aux3.2、Top1、上半部分显示了整体系统负载情:2、下半部分显示了各个进程的运行情况: 1、核心命令 linux 监控网络IO、磁盘、CPU、内存: C...
    99+
    2022-06-04
    Linux状态检查 Linux内存 Linux网络IO
  • C语言中数组和指针,内存之间的关系是什么
    小编给大家分享一下C语言中数组和指针,内存之间的关系是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!首先论证一维数组和一级指针之前的关系,我们常常使用一级指针...
    99+
    2023-06-29
  • windows系统中磁盘IO过高时的处理办法是什么
    这期内容当中小编将会给大家带来有关windows系统中磁盘IO过高时的处理办法是什么,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。磁盘IO过高时的处理办法针对系统中磁盘IO负载过高的指导性操作主要命令:e...
    99+
    2023-06-06
  • Ubuntu系统释放磁盘空间的方法是什么
    这篇文章主要介绍“Ubuntu系统释放磁盘空间的方法是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Ubuntu系统释放磁盘空间的方法是什么”文章能帮助大家解决问题。和Windows系统不同,U...
    99+
    2023-06-27
  • Linux中的2个磁盘存储相关命令是什么
    Linux中的2个磁盘存储相关命令是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。du 命令Linux du命令也是查看使用空间的,但是与df命令不同的是Linux du命...
    99+
    2023-06-28
  • 怎么使用shell脚本采集系统cpu、内存、磁盘、网络等信息
    这篇文章主要介绍“怎么使用shell脚本采集系统cpu、内存、磁盘、网络等信息”,在日常操作中,相信很多人在怎么使用shell脚本采集系统cpu、内存、磁盘、网络等信息问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家...
    99+
    2023-06-09
  • JavaScript和ECMAScript之间的关系是什么
    这篇“JavaScript和ECMAScript之间的关系是什么”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面...
    99+
    2024-04-02
  • Flex和Flash之间的关系是什么
    这篇文章给大家分享的是有关Flex和Flash之间的关系是什么的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。Flex Flash关系分析1、Flex应用程序的生命周期Flex应用就其根本上讲就是Flash应用,只...
    99+
    2023-06-17
  • ASP和Windows之间的关系是什么?
    ASP(Active Server Pages)是一种基于服务器端的脚本语言,用于开发动态网站和Web应用程序。Windows是一种操作系统,被广泛用于服务器和个人电脑上。那么ASP和Windows之间的关系是什么呢?本文将深入探讨这个问题...
    99+
    2023-08-16
    windows linux leetcode
  • $_REQUEST、 $_POST、 $_GET之间的关系是什么
    小编给大家分享一下$_REQUEST、  $_POST、  $_GET之间的关系是什么,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! &nbs...
    99+
    2023-06-08
  • HBase和ApacheHadoop之间的关系是什么
    在HBase中,ZooKeeper扮演着重要的角色作为协调服务。具体来说,ZooKeeper在HBase中主要用于以下几个方面: ...
    99+
    2024-03-07
    HBase
  • PHP与Vue、React之间的关系是什么
    这篇文章主要介绍“PHP与Vue、React之间的关系是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“PHP与Vue、React之间的关系是什么”文章能帮助大家解决问题。PHP和Vue、Reac...
    99+
    2023-07-05
  • Oracle扩充磁盘空间的方法是什么
    本篇内容介绍了“Oracle扩充磁盘空间的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Orac...
    99+
    2024-04-02
  • linux查看磁盘空间的命令是什么
    这篇文章主要介绍“linux查看磁盘空间的命令是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“linux查看磁盘空间的命令是什么”文章能帮助大家解决问题。linux查看磁盘空间命令:首先需要打开...
    99+
    2023-07-02
  • linux清理磁盘空间的命令是什么
    本篇内容主要讲解“linux清理磁盘空间的命令是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux清理磁盘空间的命令是什么”吧!linux清理磁盘空间命令:首先大家可以去查看一下磁盘的...
    99+
    2023-07-02
  • centos扩展磁盘空间的步骤是什么
    扩展CentOS的磁盘空间通常涉及以下步骤: 在虚拟化平台上扩展虚拟磁盘大小。 使用命令行工具(如fdisk)重新扫描磁盘分区表,...
    99+
    2024-04-09
    centos
  • Linux磁盘空间分配的方法是什么
    Linux系统中的磁盘空间分配方法主要是通过文件系统来管理磁盘空间的分配和使用。常见的文件系统包括ext4、XFS、Btrfs等。 ...
    99+
    2024-04-17
    linux
  • Linux系统中开起和关闭用户的磁盘空间限制的命令是什么
    这篇文章主要介绍“Linux系统中开起和关闭用户的磁盘空间限制的命令是什么”,在日常操作中,相信很多人在Linux系统中开起和关闭用户的磁盘空间限制的命令是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”L...
    99+
    2023-06-12
  • Java线程和Objec之间的关系是什么
    Java线程和Objec之间的关系是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。Java线程在不断的发展,发展的过程中我们需要不断的学习相关代码的知识。下面我们就详细的看...
    99+
    2023-06-17
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作