高并发架构实战 Day 47

我们的服务在 Linux 申请的内存不会立刻从物理内存划分出来。系统数据修改时,才会发现物理内存没有分配,此时 CPU 会产生缺页中断,操作系统才会以 page 为单位把物理内存分配给程序。系统这么设计,主要是为了降低系统的内存碎片,并且减少内存的浪费。 不过系统分配的页很小,一般是 4KB,如果我们一次需要把 1G 的数据插入到内存中,写入数据到这块内存时就会频繁触发缺页中断,导致程序响应缓慢、服务状态不稳定的问题。 所以,当我们确认需要高并发读写内存时,都会先申请一大块内存并填 0,然后再使用,这样可以减少数据插入时产生的大量缺页中断。我额外补充一个注意事项,这种申请大内存并填 0 的操作很慢,尽量在服务启动时去做。

相关推荐
好好研究27 分钟前
SpringBoot整合SpringMVC
xml·java·spring boot·后端·mvc
曹轲恒30 分钟前
SpringBoot整合SpringMVC(末)
java·spring boot·后端
小马爱打代码32 分钟前
Spring Boot:邮件发送生产可落地方案
java·spring boot·后端
程序员泠零澪回家种桔子1 小时前
OpenManus开源自主规划智能体解析
人工智能·后端·算法
Remember_9932 小时前
Spring 核心原理深度解析:Bean 作用域、生命周期与 Spring Boot 自动配置
java·前端·spring boot·后端·spring·面试
kiss strong2 小时前
springboot替换word模板&加入二维码&加水印&转为pdf
spring boot·后端·pdf
Stecurry_302 小时前
Springboot整合SpringMVC --从0到1
java·spring boot·后端
JaguarJack2 小时前
PHP 现在可以零成本构建原生 iOS 和 Android 应用 NativePHP for Mobile v3 发布
后端·php·laravel·服务端
一点程序13 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统
怪兽源码15 小时前
基于SpringBoot的选课调查系统
java·spring boot·后端·选课调查系统