首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

当我的应用程序最小化时,为什么CPU使用会增加?

当应用程序最小化时,CPU使用率增加的原因是因为最小化并不意味着应用程序停止运行,而是将应用程序的窗口隐藏起来,但后台进程仍在继续运行。这些后台进程可能包括一些系统服务、更新检查、通知推送等。这些进程需要继续占用CPU资源来执行它们的任务,因此导致CPU使用率增加。

此外,当应用程序最小化时,系统可能会执行一些额外的操作,例如图形渲染、动画效果等,这些操作也会消耗一定的CPU资源。

对于如何降低最小化应用程序时的CPU使用率,可以考虑以下几点:

  1. 优化后台进程:检查后台进程是否有不必要的任务或者是否可以进行优化,减少其对CPU的占用。
  2. 调整系统设置:在系统设置中,可以尝试关闭一些不必要的自动更新、通知推送等功能,减少后台进程的数量和负荷。
  3. 使用节能模式:一些操作系统提供了节能模式,可以降低CPU的频率和功耗,从而减少CPU的使用率。
  4. 关闭不必要的应用程序:除了最小化的应用程序,关闭其他不必要的应用程序也可以释放CPU资源。

需要注意的是,以上方法可能因操作系统和具体应用程序的不同而有所差异。在实际应用中,可以根据具体情况进行调整和优化。

关于云计算相关的名词词汇,以下是一些常见的:

  1. 云计算(Cloud Computing):一种通过网络提供计算资源和服务的模式,包括计算、存储、网络等。
  2. 前端开发(Front-end Development):负责开发用户界面的技术和工作,包括HTML、CSS、JavaScript等。
  3. 后端开发(Back-end Development):负责开发应用程序的服务器端逻辑和数据库交互的技术和工作。
  4. 软件测试(Software Testing):对软件进行功能、性能、安全等方面的测试,以确保软件质量。
  5. 数据库(Database):用于存储和管理数据的系统,常见的数据库包括MySQL、Oracle、MongoDB等。
  6. 服务器运维(Server Maintenance):负责服务器的配置、监控、维护和故障处理等工作。
  7. 云原生(Cloud Native):一种构建和运行在云平台上的应用程序的方法论和技术体系。
  8. 网络通信(Network Communication):通过网络进行数据传输和通信的技术和协议,如TCP/IP、HTTP等。
  9. 网络安全(Network Security):保护网络和系统免受未经授权的访问、攻击和数据泄露的技术和措施。
  10. 音视频(Audio and Video):处理和传输音频和视频数据的技术和标准,如音视频编解码、流媒体等。
  11. 多媒体处理(Multimedia Processing):对多媒体数据进行处理和编辑的技术,如图像处理、音频处理等。
  12. 人工智能(Artificial Intelligence):模拟和实现人类智能的技术和方法,包括机器学习、深度学习等。
  13. 物联网(Internet of Things):将物理设备和传感器通过互联网连接起来,实现智能化和自动化的技术。
  14. 移动开发(Mobile Development):开发移动应用程序的技术和工作,包括iOS、Android等平台。
  15. 存储(Storage):用于存储和管理数据的设备和系统,如硬盘、闪存、分布式存储等。
  16. 区块链(Blockchain):一种去中心化的分布式账本技术,用于记录和验证交易和数据。
  17. 元宇宙(Metaverse):虚拟现实和增强现实技术结合的虚拟世界,提供沉浸式的交互和体验。

以上是一些常见的名词词汇和相关内容,具体的产品和推荐链接可以根据实际情况进行选择和提供。

相关搜索:为什么当屏幕最小化时我的元素会重叠?随着时间的推移,使用session-file-store会增加CPU峰值为什么我的wpf应用程序内存分配会稳步增加?为什么当我使用ffmpeg将图像叠加到视频上时,输出视频的长度会增加?当我使用键盘时,为什么我的小部件会重建增加flask应用程序的cpu使用率,该应用程序没有使用gunicorn前端当我使用android Onclick("onClick")应用程序时,会显示您的应用程序已停止当我尝试使用corsheaders时,为什么我的应用程序崩溃?当我使用带有constant.pm的哈希引用时,为什么Perl会抱怨?为什么当我使用"is“而不是"==”时,np.all会返回错误的值?写入文件时,Node.js应用程序的内存使用量会增加为什么使用refs会减慢我的React应用程序的速度?为什么当我使用销毁()函数时,jquery-jcrop会破坏我的小叶映射?当我在Python3 mod_wsgi应用程序中使用Paste ErrorMiddleware时,为什么会抛出异常?当我使用Test :: Harness :: runtests运行它时,为什么我的Perl模块测试会失败?为什么当我在div中使用hover时,它也会悬停在我的文本旁边?当我使用Ctrl+S时,为什么我的Dart代码会自动移到不同的行?为什么这个Zend框架会破坏我的CPU使用率并加载页面这么慢为什么在使用setOnTouchListener时协程会破坏我的应用程序?为什么当我在集合中添加一个相对路径字符串时,反斜杠的数量会增加?
相关搜索:
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

忽视Kubernetes资源管理会让你身陷险境

随后,我需要教育用户如何以及为什么使用它们。 我决定先设置一些宽松默认值,并希望“Kubernetes 无形之手”能神奇地处理计算资源,直到有人提出一个更有效解决方案。...在 Kubernetes 配置中,请求用于设置容器保证访问最小资源,而限制则限制容器在一个节点上可以消耗最大资源。它们共同允许用户隔离 CPU 和内存。...我已经从网格计算经验中吸取了教训,这也是我被选中领导 Kubernetes 实施原因之一。我知道无法正确分配 CPU 和内存导致严重生产问题。...如果我们当时在生产环境中运行,我们集群成本将在几天内增加三倍。 当我发布第一个集群时,我天真地认为,默认设置慷慨请求和限制将提供平稳入职体验。...当我被邀请帮助构建一个平台来发现、聚合和编写指标以供用于自动应用 Kubernetes 机器学习使用时,我立即认识到了它价值。

9710

如何使用机器学习来有效管理 Kubernetes 资源

在创建集群时,我们可以在容器层面配置两种主要资源:内存和 CPU。也就是说,对于应用程序使用和请求多少资源,我们可以设置一个限值。...我们可以将这些资源设置视为输入变量,而将性能、可靠性以及运行应用程序使用资源(或付出成本)视为输出。随着容器数量增加,变量数也增加,集群管理和系统优化总体复杂性也呈指数增长。...然而,使用默认配置创建基于云集群,导致云成本徒高而性能却没有保障。 当我们设法管理数个集群多个参数时,问题变得愈加复杂。为了提升环境价值指标,机器学习系统会是一个很好补充。...举例来说,你可能希望最大化吞吐量,同时又最小化资源成本。 有些优化方案允许你给每个优化目标增加权重,因为在某些情况下,性能可能比成本更重要,反之亦然。此外,你可能希望指定每个目标的界限。...如果应用程序仅供计算使用,则应最小化错误率。我们希望优化执行效率。 如果应用程序是用来处理数据,则速度可能就是次要。应优化成本。 当然,这里只是举了几个例子。

30460
  • 2019年6月18日 从CLR GC到CoreCLR GC看.NET Core对云原生支持

    在新创建GC堆数量策略里,GC保留了一个内存片段,每个堆最小是16M,在低内存限制机器上也可以很好运行。在多核CPU机器上运行时,系统并没有设置CPU核数限制。...如果未设置CPU限制,应用程序可以利用计算机上所有核心。 有了这样新策略,可以不需要启用Docker环境下.NET Core应用工作站GC工作负载。...设置cgroup限制时.NET Core 3.0内存使用规则: 默认GC堆大小:容器上cgroup内存限制最大值20MB或最大值75% 每个GC堆最小保留段大小16MB,这将减少在具有大量内核和小内存限制计算机上创建堆数...此值是CoreCLR使用最大有效CPU核数。 默认情况下,ASP.NET Core应用程序启用了服务器GC(它不适用于控制台应用程序),因为它可以实现高吞吐量并减少跨核心争用。...通过计算CPU繁忙时间,设置CPU限制,我们避免了线程池各种推导性竞争: 尝试分配更多线程以增加CPU繁忙时间 尝试分配更少线程,因为添加更多线程不会提高吞吐量 参考资料: https://devblogs.microsoft.com

    93840

    How long does it take to make a context switch(上下文切换需要花费多长时间)

    这就是为什么当我运行第一个测试程序时,vmstat没有显示出明显上下文切换数量增加。但是这个测试也很有趣,尽管它不是我最初想要。...**不幸是,当应用程序活动线程比硬件线程多得多时,这种情况就会一直发生,就是为什么**不创建比可用硬件线程更多活动线程**是如此重要,因为在这种情况下,Linux调度器更容易在内核上重新调度它们最后使用线程...每次上下文切换时间随着工作集大小增加而不断增加,但超过某个点之后,基准测试就会由内存访问控制,不再实际测试上下文切换开销,而只是测试内存子系统性能。...结果是,在使用虚拟化时进行上下文切换平均成本要高出2.5到3倍。...这意味着异步/非阻塞应用程序线程更有可能在内核调度器抢占它们之前使用它们全时间量。如果可运行线程数量与硬件线程数量相同,那么内核很可能重新调度同一内核上线程,这将极大地提高性能。

    45420

    Redis为什么变慢了?一文讲透如何排查Redis性能问题 | 万字长文

    另外,我们还可以从资源使用率层面来分析,如果你应用程序操作 Redis OPS 不是很大,但 Redis 实例 CPU 使用率却很高,那么很有可能是使用了复杂度过高命令导致。...如果你把 Redis 进程只绑定了一个 CPU 逻辑核心上,那么当 Redis 在进行数据持久化时,fork 出子进程继承父进程 CPU 使用偏好。...为什么使用 Swap 导致 Redis 性能下降?...碎片整理 Redis 数据都存储在内存中,当我应用程序频繁修改 Redis 中数据时,就有可能导致 Redis 产生内存碎片。...频繁短连接导致 Redis 大量时间耗费在连接建立和释放上,TCP 三次握手和四次挥手同样也增加访问延迟。

    1.2K22

    SQL调优系列文章之—SQL性能方法论

    一个简单系统,用户在应用程序初始化时连接,是比较理想。但是,在基于Web或多层应用程序中,这种方法可能很困难。使用这些类型应用程序,一般是使用数据库连接池,而不是为每个用户请求重新建立连接。...随着系统上CPU数量增加,差异也增加。 2.2 部署应用程序指南 要实现最佳性能,部署应用程序时要像设计应用程序时一样精心。...获取每个SQL语句执行计划。使用此过程验证优化器是否获得了最佳执行计划,并且可以根据CPU时间和物理I/O来理解SQL语句相对成本。此过程有助于识别将来最需要调优和性能工作大量事务。...使用真实系统对于网络延迟,I/O子系统带宽以及处理器类型和速度尤为重要。如果不使用此方法,可能导致对潜在性能问题错误分析。 测量稳态性能。 在基准测试时,对稳态条件下性能进行测量是非常重要。...Big Bang方法依赖于以所需规模对应用程序进行可靠测试,但具有最小化数据转换和与旧系统同步优势,因为它只是被关闭。

    40020

    面试官问:你们服务最大并发量是多少?

    由于现在都使用是springboot服务,配置文件中也没有配置Tomcat 相关参数,基本都是使用默认Tomcat线程配置。...为什么不多开几个线程? 多开线程代价就是,增加上下文切换时间,浪费CPU时间,另外还有就是线程数增多,每个线程分配到时间片就变少。 多开线程≠提高处理效率。 为何不增大最大连接数?...="100"///初始化时创建线程数 maxSpareThreads="500"///一旦创建线程超过这个值,Tomcat就会关闭不再需要socket线程。...acceptCount="700"// 指定当所有可以使用处理请求线程数都被使用时,可以放到处理队列中请求数,超过这个数请求将不予处理 maxThreads 客户请求最大线程数 minSpareThreads...Tomcat初始化时创建 socket 线程数 maxSpareThreads Tomcat连接器最大空闲 socket 线程数 enableLookups 若设为true, 则支持域名解析,

    5.6K31

    落地k8s容易出现13个实践错误

    在需求旺盛时间,节点CPU被充分利用,我们工作负载仅获得“所申请资源”,并且受到CPU throttled,从而导致应用程序延迟,超时等增加。...另一方面,即使节点CPU没有得到充分利用,拥有CPU限制也不必要地限制Pod,这又会导致延迟增加。...内存过量使用会给您带来更多麻烦。达到CPU限制将导致节流,达到内存限制将使您Pod被杀死。见过OOMkill吗?是的,这就是我们正在谈论那个。想要最小化它发生频率?...最初,我们希望将请求值设置为更高,以确保每个 Pod 都有足够资源,但是当我们这样做时,我们注意到调度时间大大增加,甚至有些 Pod 完全无法调度。这点类似于我们没有指定资源请求时观察到行为。...在这种情况下(当准备就绪探测失败时),活动探测也失败适得其反。您为什么要重新启动运行良好Pod? 有时,未定义任何一个探针比定义错误探针要好。

    1.7K20

    OpenGL ES编程指南(四)

    应用程序将状态更改,纹理和顶点数据以及渲染命令传递给OpenGL ES客户端。 客户端将这些数据转换为图形硬件可以理解格式,并将其转发给GPU。 这些进程增加应用程序图形性能开销。...我们目标是创建任何可以保持应用运行时不变对象(或甚至是应用生命周期一部分,例如游戏中关卡持续时间),交易增加初始化时间以获得更好呈现性能。...其他函数不仅刷新命令缓冲区,而且还会阻塞,直到先前提交命令已完成,然后再返回对应用程序控仅当需要此行为时才使用刷新和同步命令。过度使用刷新或同步命令可能导致应用程序在等待硬件完成呈现时停顿。...请参阅使用顶点数组对象合并顶点数组状态更改。 组织绘图调用以最小化状态更改 更改OpenGL ES状态不会立即生效。相反,当您发出绘图命令时,OpenGL ES执行必要工作以绘制一组状态值。...您可以通过最小化状态更改来减少重新配置图形管道所花费CPU时间。例如,在您应用中保留一个状态向量,并且只有当您状态在绘制调用之间改变时才设置相应OpenGL ES状态。

    1.9K20

    如何保证数据库可靠性?

    在经常发生变化环境中,维持系统可靠性非常困难。例如,受业务影响,应用程序经常发生更改、伴随着用户量增加使用模式发生改变、操作系统升级、硬件升级所带来环境发生变化都会导致系统稳定性降低。...其原因在于应用模式发生更改,并且数据量随着时间增加而增长。 当遇到问题时,与基线进行对比。如果用户能够精确定位一个问题,解决方案往往变得显而易见。...通常情况下,用户需要测量操作系统指标包括文件系统、内存和CPU使用率。在Linux上,可以使用top、iosata、vmsata、syssata、sar进行测量。...这使得用户可以查看应用程序大部分延迟是在调用数据库、建立连接时出现,还是由于其他一些应用程序操作造成。 数据库为什么“坏掉”?...性能 应用程序与MySQL共享CPU内存等影响MySQL性能。

    26630

    进程、线程、进程池、进程三态、同步、异步、并发、并行、串行

    进程是程序运行过程, 是一个动态概念, 进程存在着生命周期, 也就是说进程随着程序终止而销毁, 不会永久存在系统中 进程之间交互 进程之间通过 TCP/IP 端口实现 2.线程 什么是线程 线程是操作系统能够进行运算调度最小单位...4.总结 进程:指在系统中正在运行一个应用程序;程序一旦运行就是进程;进程——资源分配最小单位。 线程:系统分配处理器时间资源基本单元,或者说进程之内独立执行一个单元执行流。..., 便被操作系统剥夺了cpu操作时间, 这是就是阻塞态 引起阻塞原因多种, 例如: 等待I/O操作, 更高优先级任务抢走了CPU权限等. 4.进程三种状态 间转换 一个进程在运行期间, 不断地在一种状态切换到另一只种状态...使用权限, 运行态就会重新转为就绪态 运行态➠➠阻塞态 正在运行进程由于遇到I/O操作或被更高优先级任务抢走CPU使用权限而无法继续执行, 便从运行态转为阻塞态 阻塞态➠➠就绪态 处于阻塞态进程...进程池是资源进程, 管理进程组成技术应用. 2.为什么要有进程池? ?忙时会有成千上万任务需要被执行,闲时可能只有零星任务。 ?

    55810

    「前端进阶」从多线程角度来看 Event Loop

    定工厂电力有限,一次只能供给一个车间使用。也就是说,一个车间开工时候,其他车间都必须停工。背后含义就是,单个CPU一次只能运行一个任务。 进程就好比工厂车间,它代表CPU所能处理单个任务。...进程是cpu资源分配最小单位(是能拥有资源和独立运行最小单位) 线程是cpu调度最小单位(线程是建立在进程基础上一次程序运行单位,一个进程中可以有多个线程) 不同 进程之间也可以通信,不过代价较大...单线程与 多线程,都是指在一个 进程内单和多 浏览器是多进程 我们已经知道了 CPU、 进程、 线程之间关系,对于计算机来说,每一个应用程序都是一个 进程, 而每一个应用程序都会分别有很多功能模块...AJAX请求 当请求完成时,若有回调函数,通知事件触发线程 当我们了解了渲染进程包含这些线程后,我们思考两个问题: 为什么 javascript 是单线程 为什么 GUI 渲染线程与 JS 引擎线程互斥...当我同步任务执行完, JS引擎线程询问 事件触发线程,在 事件队列中是否有待执行回调函数,如果有就会加入到执行栈中交给 JS引擎线程执行 用一张图来解释: ?

    66410

    漫谈Web缓存架构

    计算机领域多处地方用到缓存,比如说为了缓解CPU和内存之间速度不匹配问题,我们往往通过增加一级、二级、三级缓存,CPU先从缓存中取指令,如果取不到,再从内存中取,并更新缓存,同时,根据程序局部性原理...应用程序该如何访问缓存 考虑到公司有很多后端小组,并且使用不同编程语言,这就要求我们自研缓存系统应该和编程语言无关,基于此,我们需要制定一套协议来支持各种语言。客户端如何使用这套协议?...3,那么它们余数也随之发生变化,100%4 = 0,99%4 = 3,但是它们在0、3号服务器却找不到对应数据。...譬如:当我们新增node5,只影响局部范围内key,而余数算法则影响全局。 ? 但是它也存在分布不均匀问题,导致有的服务器上缓存数据多,有的少。...同时,我们注意到node1、node2等存在单点故障,为增加可用性,我们对每个node使用主从模式。

    63030

    Linux 启动时间优化实战,2.41 秒启动应用!

    裁剪 BusyBox,文件系统越小,内核挂载可能越快。 将 Init 程序替换成我们应用程序。 静态编译应用程序。...当我们将 Buildroot rootfs 裁剪得很小时,就可以考虑直接将其作为 initramfs 使用。 这样有什么好处呢?...内核不再需要 block/storage 和 filesystem 相关功能,体积变得更小,加载时间和初始化时间都会变小。...开启 CONFIG_EMBEDDED 和 CONFIG_EXPERT 这会让系统调用变得更精简,内核变得没那么通用,但是能保持你应用程序能运行就足够了。 内核缩小 51 KB。...因此,我们仍使用 SLAB。 内核压缩方式 不同压缩方式特点如下: 实测效果: 看起来,gzip 和 lzo 表现更好。测试效果应该是和 CPU/磁盘 性能相关

    3.2K50

    漫谈Web缓存架构

    计算机领域多处地方用到缓存,比如说为了缓解CPU和内存之间速度不匹配问题,我们往往通过增加一级、二级、三级缓存,CPU先从缓存中取指令,如果取不到,再从内存中取,并更新缓存,同时,根据程序局部性原理...应用程序如何访问缓存 考虑到公司有很多后端小组,并且使用不同编程语言,这就要求我们自研缓存系统应该和编程语言无关,基于此,我们需要制定一套协议来支持各种语言。客户端如何使用这套协议?...3,那么它们余数也随之发生变化,100%4 = 0,99%4 = 3,但是它们在0、3号服务器却找不到对应数据。...譬如:当我们新增node5,只影响局部范围内key,而余数算法则影响全局。 但是它也存在分布不均匀问题,导致有的服务器上缓存数据多,有的少。...同时,我们注意到node1、node2等存在单点故障,为增加可用性,我们对每个node使用主从模式。

    1.1K100

    C#多线程开发-线程基础 01

    在操作系统中可以同时运行很多个应用程序,那么你知道计算机是如何分配和调度这些应用程序使用CPU进行工作吗? 这里面就牵扯到了进程、线程概念,也就是我们接下来要学习内容。...一个应用程序会有很多个线程,但是只能有一个进程。也就是说一个进程中可以有很多个线程。那么这是为什么呢?以前计算机只有一个计算模块,每次只能单一执行一个计算单元,不能同时执行多个计算任务。...现在随着科技发展,有了多核CPU,可以一次性执行多个应用程序,这样就实现了多任务。...大量使用线程消耗大量OS资源 那么为什么需要使用线程呢!其实就是为了在相同时间内,让操作系统或CPU干更多活,那么在C#中线程应该如何使用或者说在什么场景下使用呢!...不是说每一个方法,每一个变量都需要进行加锁,如果频繁加锁导致其余线程处于阻塞状态,那么也导致应用程序出现严重性能问题。

    44030

    优化 Apache Flink 应用程序 7 个技巧!

    在部署我们第一个应用程序时,我们发现使用工具集在调试 Flink 时使用正确: Async-profiler:为 Java 虚拟机 (JVM) 用于错误制造任务分析工具,跟踪事件,包括 CPU 周期...例如,当我们与我们不相关性能问题时,观察 Kryo 类在使用内存显示占用了多少空间。...稳定状态:管道正在消耗接近实时消息,并且源延迟最短(即秒)。 或实时销售活动:管道正在用时接近示例消息,但可能增加可能延迟。...因此,可能提供这样一个输入时间段并行度,并且最小管道。因此,管道可以输入过多结果,因此需要输入很多时,请输入重要资源,请在创建时考虑回填重要来源。...但是 RocksDB 禁止块缓存 F 应用程序使用完整应用程序之间性能块缓存看到 Flink 程序应用性能。差异。这也解释了为什么我们需要等待等待重新填入:我们正在等待缓存块被缓存满了。

    1.4K30

    使用Kube Startup CPU Boost加速Kubernetes工作负载启动时间

    应用程序资源需求发生变化时,在 Kubernetes 1.27 中,通过 in-place 资源调整可以调整 Pod 资源而无需重新启动容器。...一个选择是配置更大请求以满足峰值资源需求。这不是一种最佳方法,导致资源利用不足。它还会产生不必要基础设施成本,因为并非所有时间都在使用。...这是因为在初始类加载或优化时存在密集计算操作。由于 JVM 利用了多线程,分配更多 CPU 资源通常可以减少启动时间。 容器化 Java 应用程序 容器已成为在云中部署和运行应用程序事实标准。...将容器 CPU 请求和限制增加 100%(到 2 个核心),直到 Pod 达到 Ready 状态。为此,请在您应用程序命名空间中应用以下配置。...kubectl delete deploy/spring-demo-app -n demo kubectl kustomize | kubectl apply -f - 这次启动 CPU 提升增加容器

    6900

    WPF性能优化:性能分析工具

    当我们需要进行性能优化时,首先需要找到性能瓶颈。本文将介绍两个WPF性能优化分析工具:内存使用率和应用程序时间线使用。...内存使用率 内存使用率是Visual Studio中集成诊断工具之一,适用于.Net程序查找内存泄漏或者低效内存适用情况。 默认情况下,调试程序时诊断工具窗口自动开启停靠在右侧或者底部。...诊断工具窗口可以查看程序运行过程CPU和内存消耗变化,鼠标悬浮在进程内存消耗图上时,显示任意时间点内存消耗。 要查看内存使用情况时,可以在诊断工具窗口内存使用情况选项卡点击“截取快照”按钮。...通常我们会在内存显著增加前后各截取一次内存快照,然后对比两次快照中对象和堆大小差异。 上图中显示了两次截图快照时间、对象个数和堆中字节数。...在大型应用程序中,可能会同时在屏幕上显示数千个元素。此显示可能导致UI帧速率降低以及应用程序响应能力相应地变差。 呈现:在屏幕上绘制XAML元素所耗用时间。

    24810

    神秘!申请内存时底层发生了什么?

    有的同学可能问,这和计算机有什么关系呢? 原来,我们代码也是分三六九等,程序运行起来后也是有“三界”之说,程序运行起来“三界”就是这样: ?...特权最小,不能执行一些特权指令。...从分层角度看,我们程序一般都是这样汉堡包类型: ? 最上层是应用程序应用程序一般只和标准库打交道(当然,我们也可以绕过标准库),标准库通过系统调用和操作系统交互,操作系统管理底层硬件。...原来,栈区其实是可以增长,随着调用深度增加,相应栈区占用内存也增加,关于栈区这一主题,你可以参考《函数运行时在内存中是什么样子》这篇文章。 栈区增长就需要占用原来空白区域。...答案是当我们真正使用这段内存时,当我们真正使用这段内存时,这时会产生一个缺页错误,操作系统捕捉到该错误后开始真正分配物理内存,操作系统处理完该错误后我们程序才能真正读写这块内存。

    68010
    领券