计算机 I/O 操作是否占用 CPU、占用多少

发布时间:2026/9/1 15:34:32

计算机 I/O 操作是否占用 CPU、占用多少
目录1、四种 I/O 模型 CPU 开销对比① 阻塞 IOBIO② 非阻塞 IO③ IO 多路复用 select/poll/epoll④ 异步 IO AIOlibaio/io_uring2、开销拆分一次磁盘 / 网络 I/O 完整 CPU 消耗3、那占多少 CPU没有固定百分比看场景4、面试高频坑点简单记忆核心结论I/O 一定会占用 CPU但不同 I/O 模型 CPU 开销天差地别真正读写硬件数据传输阶段可以不占 CPU但是 I/O 的发起、收尾、中断处理、数据拷贝都要消耗 CPU。1、四种 I/O 模型 CPU 开销对比① 阻塞 IOBIOread ()/write () 系统调用线程挂起等待硬件完成 IO等待数据阶段线程阻塞休眠不消耗 CPU数据拷贝阶段内核→用户空间CPU 参与内存拷贝占用 CPUCPU 占用低大部分时间线程休眠但线程资源开销大。② 非阻塞 IOwhile 循环轮询调用 read没数据立刻返回用户态不停循环询问内核等待数据阶段用户态循环轮询CPU 满负载消耗空转数据拷贝阶段CPU 拷贝内存数据CPU 占用很高CPU 大部分时间在做无效轮询。③ IO 多路复用 select/poll/epoll单个线程管理大量 fdselect/poll用户态把 fd 集合拷贝内核内核遍历扫描全部 fd有事件返回用户态用户程序遍历 fd 找就绪事件。CPU 开销中等fd 数量越大扫描开销越高。epoll事件回调不需要遍历全部 fd就绪事件直接返回。等待阶段线程阻塞休眠不耗 CPU就绪事件处理、数据拷贝消耗 CPU。CPU 占用很低高并发场景首选。④ 异步 IO AIOlibaio/io_uring完全异步提交 IO 任务给内核内核完成后通知程序发起 IO 请求CPU 少量开销提交任务给内核硬件 DMA 传输数据完全不占用 CPUDMA 控制器接管总线搬运数据IO 完成产生中断CPU 处理中断、回调通知应用程序少量 CPU 开销CPU 占用最低硬件 DMA 负责搬运CPU 只负责提交任务和收尾中断。⚠️重点DMA磁盘、网卡都带有 DMA 控制器硬件和内核缓冲区之间的数据搬运不需要 CPU 参与但是「内核缓冲区 ↔ 用户缓冲区」内存拷贝必须 CPU 完成。2、开销拆分一次磁盘 / 网络 I/O 完整 CPU 消耗发起系统调用 read/writeCPU 切换用户态→内核态上下文切换消耗少量 CPU硬件执行 IODMA 搬运硬件数据到内核缓冲区CPU 可以去干别的事0 占用IO 完成硬件触发中断CPU 暂停当前任务执行中断处理程序少量 CPU 开销内核缓冲区拷贝到用户进程内存内存拷贝CPU 占用这一块是主要 CPU 消耗系统调用返回内核态切回用户态上下文切换所以I/O 慢不是因为 CPU 忙而是硬件速度慢CPU 大部分时间在等待硬件完成动作。3、那占多少 CPU没有固定百分比看场景BIO 单线程读文件CPU 通常1%‑5%绝大部分时间在等待磁盘只有拷贝数据时跑 CPU。非阻塞轮询 while (!read ())CPU 直接拉满接近100%全部 CPU 耗在空转轮询。epoll 高并发网络服务如 NginxCPU 主要消耗在协议解析、业务逻辑、内存拷贝单纯等待 IO 事件几乎不耗 CPU。io_uring 异步磁盘 IOCPU 开销最小适合大规模文件读写。4、面试高频坑点❌错误IO 操作完全不占用 CPU ✅正确硬件 DMA 传输不占 CPU系统调用、上下文切换、中断处理、内核用户内存拷贝都要 CPU。❌错误阻塞 IO 会占用 CPU 等待磁盘 ✅正确阻塞时线程被调度出去休眠CPU 运行其他线程等待阶段 CPU 开销几乎为 0。零拷贝技术mmap、sendfile的意义就是减少「内核缓冲区→用户缓冲区」的 CPU 内存拷贝降低 CPU 占用提升 IO 性能。sendfile直接内核内部拷贝跳过用户空间减少 CPU 拷贝开销。简单记忆等待硬件可以不耗 CPU系统调用、中断、内存拷贝一定耗 CPU轮询模型会疯狂浪费 CPU。

相关新闻

基于SG3525的600W大功率DC-DC升压电路设计与实战指南

基于SG3525的600W大功率DC-DC升压电路设计与实战指南

2026/9/1 15:34:32

你是否曾遇到过这样的困境:手头有一个12V的铅酸电池,却需要驱动一个24V、数百瓦的工业设备?或者,在太阳能供电系统中,需要将不稳定的低压直流电高效、稳定地提升到可用的高压?面对这类需求,一个…

多模型编排实战:用Pi Agent构建可控的DeepSeek与Gemini工作流

多模型编排实战:用Pi Agent构建可控的DeepSeek与Gemini工作流

2026/9/1 15:34:32

最近在整理多模型工作流时,我反复看到一个实践案例:使用 Pi Agent 同时编排 DeepSeek 和 Gemini。说实话,第一次看到这类演示时,我脑子里冒出的问题是:为什么要绕一层框架?直接写两个 API 调用不就行了&…

荣耀Robot Phone影音硬件深度解析:1.3万旗舰的屏幕与音频技术拆解

荣耀Robot Phone影音硬件深度解析:1.3万旗舰的屏幕与音频技术拆解

2026/9/1 15:24:32

这次我们来看一个很有意思的话题:荣耀Robot Phone的音频和视频硬件表现。这机器定位独特,价格不菲,高达1.3万。很多人第一反应是:谁会花这么多钱买个手机来看视频?但抛开这个疑问,单从硬件规格和实际体验出…

Windows TSF输入法开发实战:基于VS2019示例的深度解析

Windows TSF输入法开发实战:基于VS2019示例的深度解析

2026/9/1 16:44:35

简介:基于Visual Studio 2019整理的TSF输入法框架示例源码包,源自微软早期样例,整合九个输入法工程与两个附加工程,完整覆盖输入法注册与激活、事件接收器安装与调试、焦点事件处理、语言栏设置、文本编辑会话请求、键盘事件接收、…

掌阅研发岗春招笔试全解析:考点拆解与避坑指南

掌阅研发岗春招笔试全解析:考点拆解与避坑指南

2026/9/1 16:44:35

2025年春招已经打响了,我投的掌阅集团研发岗在简历筛选后收到了笔试通知。整个笔试集中在一个在线平台上完成,时间100分钟,内容分四块:单选、多选、两道编程题和一道问答题。这家公司做数字阅读起家,技术栈以Java为主&…

TVA具身智能架构:域对抗特征解耦与物理参数自适应对齐

TVA具身智能架构:域对抗特征解耦与物理参数自适应对齐

2026/9/1 16:44:35

前沿技术探索:TVA智能体(简称TVA)TVA智能体(亦称“AI智能体视觉”或“TVA视觉智能体”)是依托Transformer架构与“因式智能体”理论构建的通用视觉技术体系。它有机融合深度强化学习(DRL)、卷积…

基于Flutter的老年人用药提醒APP的设计与实现(源码+讲解视频+LW)

基于Flutter的老年人用药提醒APP的设计与实现(源码+讲解视频+LW)

2026/9/1 16:44:35

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

cup-tower水力学校核软件实操:冷却塔配水系统校核全流程

cup-tower水力学校核软件实操:冷却塔配水系统校核全流程

2026/9/1 16:44:35

简介:cup-tower水力学校核软件是一套面向水利水电与核电工程领域教学、科研及初阶设计人员的专业校核工具集,聚焦水力系统建模、浮阀/塔式结构水力学验算、热工水力耦合分析等核心场景,解决电站设计阶段关键参数校核与安全边界验证问题。压缩…

Nodejs是什么、作用、安装、第一个程序【Node.js-入门详细讲解】

Nodejs是什么、作用、安装、第一个程序【Node.js-入门详细讲解】

2026/9/1 16:34:35

目录Node.js 快速入门一、Node.js 是什么?二、JavaScript 为什么需要 Runtime?三、Node.js 和浏览器是什么关系?四、Node.js 使用什么执行 JavaScript?五、Node.js 能干什么?开发后端接口六、Node.js 可以操作文件七、…

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

备战数据库管理工程师校招:索引、事务、备份恢复核心考点解析

2026/9/1 1:53:39

每年校招季我都会接触不少准备数据库方向笔试的同学,看到最多的状态就是:简历上写着“熟悉 MySQL”“了解索引优化”,一碰到数据库管理工程师的笔试卷,却在索引、事务、锁、备份恢复这些题目上翻车。网易这套 2018 校园招聘数据库…

数字电路时序基石:深入理解建立时间与保持时间

数字电路时序基石:深入理解建立时间与保持时间

2026/9/1 9:55:14

1. 这不是“背公式”的事:时间参数到底在约束什么你翻过数字电路教材,一定见过这两个词:建立时间(Setup Time)和保持时间(Hold Time)。它们常被并列写在触发器(Flip-Flop&#xff09…

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

蓝桥杯国赛超声波测距机:从单片机原理到嵌入式系统实战

2026/8/31 17:18:46

1. 项目缘起:从赛题到超声波测距机的诞生第八届蓝桥杯单片机设计与开发国赛的题目,我至今记忆犹新。它没有直接给出一个花哨的名字,而是用“超声波测距机”这个朴实无华的功能描述,精准地勾勒出了考核的核心。对于当时备赛的我而言…

远程协作的工作台整理

远程协作的工作台整理

2026/9/1 0:03:36

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/1 0:03:36

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/1 0:03:36

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

远程协作的工作台整理

远程协作的工作台整理

2026/9/1 0:03:36

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/1 0:03:36

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/1 0:03:36

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…