登录社区云,与社区用户共同成长
邀请您加入社区
基于 vLLM 主线(commit8151f2ad,2026-08-12)与最新稳定版(2026-08-11)撰写。文中涉及的源码位置均固定到该 commit。核心论文:Kwon et al.,
摘要: 大模型推理优化的核心并非单纯压榨GPU算力,而是通过高效管理KV Cache(键值缓存)减少数据搬运与计算冗余。随着上下文窗口扩大至百万级token,KV Cache的调度效率成为性能瓶颈。解码阶段因内存带宽限制(需遍历大量历史K/V向量)而非算力不足,导致GPU利用率低下。量化分析显示,单条128K请求的KV Cache可占用43GB显存,高并发场景下显存压力陡增。 技术革新: 分页注意
未命中的大范围查询直接穿透到底层磁盘,需要在操作系统层面将核心表及索引文件直接读入 Linux Page Cache。代表成功导出了约 393 万个 8KB 数据块(对应约 30GB 的缓存状态)。该文件默认生成在源库的数据目录。在数据库日常运维与大型变更中,最让 DBA 和基础架构团队头疼的问题之一就是。PostgreSQL 的读写架构并非只依赖自身的数据库内存,而是深度依赖。或网络同步工具将文
PostgreSQL采用双缓存架构,同时使用共享缓冲区(shared_buffers)和操作系统页缓存(OS Page Cache)来提高查询性能。文章分析了其内存管理机制,包括Linux内核的水位线回收策略和直接内存回收对性能的影响。同时介绍了PostgreSQL的私有缓存SysCache和RelCache的特性,以及相关观测工具如pg_buffercache和pg_prewarm的使用方法。最
最近,学习计划有放下了很久,主要原因是最近在练车,我终于把科二考过了,我之前考了两次都没过,这次一次就过了。算上这个假期最值得庆祝的事了,从今天开始我将重拾旧业,坚持学redis和写博客,还有复习操作系统,开学要补考,好烦。
伴随着社会的发展,网络安全被列为国家安全战略的一部分,因此越来越多的行业开始迫切需要网安人员,也有不少人转行学习网络安全。那么网络安全可以从事哪些岗位?岗位职责是什么?相信很多人都不太了解,我们一起来看看吧。1、安全运维/安全服务工程师岗位职责:①负责业务服务器操作系统的安全加固;②负责推进业务层安全渗透、安全加固以及安全事件的应急响应,协助漏洞验证等;③负责对业务服务器系统层的应用程序的运行权限
文章不仅详细剖析了无锁环形缓冲区(Lock-free Ring Buffer)应对突发大流量的内存削峰机制,结合本地微型数据库(SQLite WAL模式)实现的断网持久化脱机缓存策略,还深入探讨了操作系统内核空间与用户空间的数据零拷贝、内存屏障(Memory Barrier)、写放大规避策略,并提供针对异步涓流回填(Trickle Feed)的核心伪代码与状态机管控实战,助力研发团队打造在网络抖动
redis 6.0+版本,就不兼容window操作系统,应运而生的Memurai,Memurai就是redis 6.0+版本,它很好的兼容widons10,11。
Another Redis Desktop Manager 没有内置的“检查更新”按钮,手动更新通常就是。具体操作取决于你的操作系统和当初的安装方式。
2026世界人工智能大会标志人形机器人产业进入商用新阶段:60台全尺寸人形机器人首次实现多日连续实景作业零故障,同时商用接待、家庭陪伴、载人变形等新型机器人集中亮相,呈现两大趋势——人形机器人从演示转向实用验证,产业路线分化为轮足/变形/特种等多形态方案。这要求底层操作系统具备硬实时控制、AI算力隔离等能力,国产望获OS通过微秒级调度、算力分区、轻量化架构(4.4MB/0.9秒启动)等特性,支撑了
SSD固件是运行在主控芯片上的嵌入式操作系统,负责FTL地址映射、垃圾回收、磨损均衡、ECC纠错、温度管理等所有底层逻辑。它决定了SSD的性能表现、数据安全和使用寿命。本文从固件的架构分层、核心模块、启动流程、升级机制到安全风险,全面拆解这块"隐藏在硬件中的软件"。
本文将深入剖析 Redis 的内存管理原理、缓存常见问题,以及如何使用 Redis 实现分布式锁,并配合可运行的代码示例帮助理解。Redis 的内存分配并非直接使用操作系统的 malloc,而是封装了多种分配策略,例如:-- 释放锁时,通过 Lua 脚本确保原子性:先检查锁的持有者,再删除 key。:为键设置 TTL(生存时间),当键过期时,Redis 会异步或惰性删除它。#### 代码示例:Ja
文件缓冲区是全局的页缓存,挂在文件inode下,所有打开该文件的进程共享。读写位置由每个中的单一字段f_pos维护,读写共用;若需位置隔离,使用。已读数据跟踪由页缓存的存在性隐式完成,不保存任何历史读取记录。缓冲区满并非固定容量耗尽,而是触发内存回收,脏页写回后回收干净页,可能影响性能但不会丢失数据或返回错误。f_op是统一的操作函数表,与打开模式和位置维护无关。通过这套设计,操作系统在提供简洁文
大家好,距离我的上一篇博客发布,将近有半个月,这一段时间,我不够自律,加上练车,学习效率低下,今天终于迷途知返,开始,操作系统D2还在润色中,根据过两天会发布,从今天开始我将学习黑马点评,明天我将把我的学习内容发作博客以此来便于复习Redis是一个key-value数据库,key一般是String类型的,但value的类型多种多样。数据类型例子HashListSet{A ,B ,C}SortedS
通过合理运用 GitHub Actions 的矩阵策略,开发者可以将数百行重复的 CI 配置压缩为数十行,轻松实现多操作系统、多语言版本乃至多数据库的并行集成测试。配合精细化的依赖缓存机制,能够将原本漫长的构建时间削减大半。在实际应用中,建议从基础的矩阵配置起步,逐步引入excludeinclude以及动态生成等高级特性,并辅以完善的失败策略与安全规范,从而打造出高效、可靠的企业级 CI/CD 流
本文系统剖析了数据库高并发优化的全链路方案,从底层硬件到分布式架构逐层解析。首先指出硬件网卡、操作系统内核的TCP连接资源限制是高并发瓶颈的根源,详细分析了无连接池场景下频繁TCP握手/挥手的性能损耗。接着深入MySQL单机优化,提出连接池复用、SQL语句优化等核心手段。然后引入Redis缓存分层架构,详解缓存更新策略、内存淘汰机制及穿透/雪崩等问题的解决方案。最后给出分布式扩容方案,包括读写分离
当项目需要支持多版本运行时(如 Node.js 14/16/18)、多操作系统(Linux/Windows/macOS),或者需要部署到 dev/staging/prod 多个环境时,简单的顺序执行已经不够用了。GitHub Environments 是一个强大的部署管理功能,它允许你为不同的部署目标(如 dev、staging、prod)配置独立的环境变量、密钥(Secrets) 和保护规则(P
本文由CodeStats撰写,深入剖析Java并发编程中锁机制的底层原理。文章采用自底向上的体系化讲解方式,从硬件层到JVM层,完整揭示锁机制的工作链条。主要内容包括:多核CPU缓存架构引发的MESI协议、LOCK指令与普通指令的本质区别、volatile关键字的内存屏障实现原理、synchronized锁升级与AQS队列的底层差异、操作系统futex的实现机制,以及CAS高效的本质原因。文章特别
本文档详细记录了在 openEuler 22.03 系统上部署分布式存储池的完整流程,通过 NFS 共享多台存储服务器的 /bak 目录,并在客户端使用 mergerfs 合并为统一存储池。主要步骤包括: NFS服务端配置:安装nfs-utils,配置共享目录/etc/exports,设置防火墙规则 客户端配置:挂载本地存储设备和远程NFS共享,优化挂载参数 mergerfs部署:安装merger
缺页中断与一般中断的核心区别解析 摘要 本文系统解析了缺页中断(Page Fault)的本质特征及其与一般硬件中断的核心区别。缺页中断是虚拟内存机制中的关键异常,当进程访问未加载到物理内存的虚拟页面时,由CPU的MMU单元触发。文章通过六大维度对比分析:缺页中断属于同步内中断(异常-故障Fault),由CPU内部MMU直接触发,需回滚流水线并重新执行当前指令,且不可屏蔽;而一般硬件中断属异步外中断
启动 Redis 服务有多种方式,可以根据你的操作系统和环境选择最合适的方法。对于生产环境,建议使用 systemd(Linux)或服务方式(Windows)来管理 Redis 服务,以确保高可用性和易维护性。
同样可以把LFU算法理解为一个链表,新数据放在链表尾部,链表中的数据按照被使用的次数降序排列,被使用次数相同的数据按最近使用的时间降序排列,链表满的时候从链表尾部移出数据。Redis中使用的算法近似于LRU算法,比如修改配置文件maxmemory–samples=5,表示在Redis中随机采样5个键,然后从中淘汰最少使用的键,因此采样键的数量与Redis库中键的数量越接近,淘汰的规则就越接近LRU
缓存的设计思想在架构设计中十分常见。比如我们每天用的操作系统,都有系统缓存、用户缓存。磁盘有磁盘缓存区、CPU有CPU缓存区。再比如,在我们常用的经典框架中,也经常使用到缓存,Spring有IoC缓存,MyBatis有一级缓存、二级缓存。可以说缓存无处不在。
摘要: Linux内核曝出高危本地提权漏洞CVE-2026-43503(DirtyClone),是DirtyFrag漏洞的绕过变种,CVSS评分8.8。攻击者通过非特权命名空间结合splice接口篡改页缓存,稳定获取root权限,影响云服务器、容器及嵌入式设备。漏洞源于skb克隆时丢失安全标记,导致IPsec误判内存可写。主流发行版默认开启IPsec模块,野外利用已出现。修复方案包括内核补丁(同步
好了,以上就是我在阅读 Redis 源码时的经验心得,总结一下这 7 个步骤。1、找到地图:拿到项目代码后,提前梳理整个项目结构,知晓整个项目的模块划分,以及对应的代码文件。2、前置知识准备:提前掌握项目中用到的前置知识,比如数据结构、操作系统原理、网络协议、网络 IO 模型、编程语言语法等等。3、从基础模块开始读:从最底层的基础模块开始入手,先掌握了这些模块,之后基于它们构建的模块读起来会更加高
本文摘要: 第1章探讨了Java程序的执行过程,从源代码到CPU执行的完整链路。重点内容包括:1)Java程序通过JVM转换为字节码并由操作系统和CPU执行;2)现代CPU采用多核设计以提高性能,但需要线程机制来利用多核资源;3)CPU通过寄存器、多级缓存优化执行效率;4)JVM使用Heap和Stack分别存储共享对象和线程私有数据;5)多线程共享Heap对象时可能引发线程安全问题。本章为理解Ja
如何用半缓存云桌面将服务器硬盘容量扩展至本地终端? 教学机房常面临终端本地硬盘(如128GB SSD)空间不足的问题,难以容纳多套教学环境或大型软件。逐台更换大容量硬盘成本高昂。澄成 vDisk 的半缓存云桌面模式提供了一种替代方案:将操作系统镜像与应用程序数据集中存放于服务器,终端按需流式加载,实际占用本地空间远小于完整镜像,从而将服务器存储容量有效扩展至本地终端。本文阐述其工作原理、配置方法、
至于,如何区分是系统数据,非常简单,直接在data方法添加第四个参数,真值时为系统数据。于是jQuery在原型上的data做了增强,当用户第一次访问此元素节点,会遍历它所有"data-"开头的自定义属性(为了照顾旧式IE,不能直接遍历dataset),把它们放到jQuery的缓存体中。重大的改进在jQuery1.83后,操作数据的实现被抽出为私有方法,命名空间与原型上的方法只是一个代理,并分成两组
望获OS团队研发的实时欧拉系统(望获rtEuler)近日通过openEuler兼容性测评,验证了其在国产嵌入式平台(飞凌OK3588-C)上的适配能力与稳定性。该系统面向航空航天、工业控制等实时场景,具备硬实时特性与国产化支持,通过生态适配降低了用户部署成本。作为北京国科环宇旗下产品,望获OS已形成覆盖嵌入式全场景的技术矩阵,未来将持续深化与openEuler生态合作,扩展硬件支持范围,推动自主可
操作系统 第五章 空间的协调 内存的分配与映射
用户访问 baidu.com↓浏览器缓存 → 有记录 → 直接返回 IP↓ 无操作系统缓存 → 有记录 → 返回 IP↓ 无本地 DNS 服务器缓存 → 有记录 → 返回 IP↓ 无递归查询权威 DNS 服务器 → 获取结果并缓存(按 TTL)一句话记住:DNS 缓存就像把查过的电话号码写在便签上,下次直接用,不用再翻电话本。
2026年的移动操作系统生态,依然被少数几家巨头牢牢掌控。Google通过Android收集海量用户数据,苹果虽然宣称“隐私优先”,但其封闭生态和不断收紧的政策也让不少技术爱好者感到不安。Bootloader解锁——这个看似极客的操作,实际上是打破这种困境的第一道门槛。
需要注意的是,List 不支持按消息体确认删除,消息可靠性要求高的场景还是优先考虑 RabbitMQ/Kafka。有三个级别:always(每条命令刷盘,最安全性能最低)、everysec(每秒刷盘,平衡选择)、no(交给操作系统,风险高)。AOF 文件会随时间膨胀,BGREWRITEAOF 在后台进行重写压缩,重写过程中新增命令会写入缓冲区,完成后追加,全程不影响主线程。String 是 Red
作为正在把大模型部署到生产环境的工程师,你最头疼的问题往往不是模型本身跑不起来,而是。你花重金买了顶级GPU,却发现实际吞吐量只有理论值的几分之一,成本居高不下。Amit Shekhar(Outcome School创始人)在最新技术解析中,用极清晰的机制拆解,完整还原了vLLM解决这个核心痛点的全过程。它不是简单地“更快推理”,而是通过操作系统式的内存分页思想 + 动态批处理,彻底改变了LLM
生产环境会追求 Redis 高性能的同时,还会要求其高可用,往往会采用集群模式部署。但有时候,服务器资源确实不充裕,那么开发环境与测试环境往往会共用一套 Redis 集群,用数据库隔离;有些时候为了节省资源,开发环境与测试环境会共用 Redis,用不同的库进行隔离,比如开发环境用。我们用同个应用,用开发配置启动一个实例,用测试配置也启动一个实例,看彼此之间是否做到数据隔离了。开发、测试、生产,环境
HTTP API 服务和编程智能体等功能。2、:仅 2000 行的教学操作系统。这是一个仅用 2000 行代码实现的极简操作系统,内含 9 个课程实验,旨在让每位学生都能看完并理解操作系统的全部源码。它体积小、结构清晰,可以在 QEMU 模拟器和 RISC-V 开发板上运行,实现了内存管理、进程控制、系统调用、文件系统、网络通信和 Shell 等核心组件。
Sticky Session(会话粘滞 / Session Affinity)指的是:在负载均衡场景下,将同一个用户的请求始终路由到同一台后端服务器。用户 A 第一次访问 → 被分配到 Server 1后续请求 →仍然固定走 Server 1一句话总结:Sticky Session 是一种“用路由解决状态问题”的方案,但它本质上是一种折中。方案状态管理扩展性推荐程度本地内存❌⭐⭐外部存储✅⭐⭐⭐⭐
LocalStorage 是浏览器提供的持久化本地存储方案,属于 Web Storage API 的一部分,并非传统意义上的 HTTP 缓存(如:强缓存、协商缓存)。它主要用于在客户端长期保存非敏感数据,数据在浏览器关闭后仍保留,且不会随 HTTP 请求自动发送至服务器。其核心价值在于减少服务器请求、提升用户体验,适用于用户偏好设置、草稿保存等场景,但需注意容量限制和数据类型约束。LocalSto
基于 SSH 的服务器管理面板,核心入口是 SSH。用户通常通过服务器 IP、端口、用户名、密码或密钥连接服务器,然后在一个图形化或半图形化的工作区里完成服务器管理。
在多核下不足以保证同步(它只防止编译器优化,不涉及缓存),为什么自旋锁要配合内存屏障,以及为什么把两个无关变量安排在一起会无故拖慢系统。因为每个核心都在“自以为是”地保留私有缓存副本,当它们同时修改相邻的变量时,硬件不得不在核心之间来回“踢皮球”同步缓存行。反过来,如果你通过普通指令直接访问共享变量(不经过锁或原子操作),硬件不会触发 MESI 的一致性动作,就会读脏数据。即使两个变量在逻辑上毫无
用户提交账号密码服务端校验成功将用户信息存入浏览器持有JSESSIONID后续请求通过JSESSIONID找回 Session关键点Session 默认是存储在单台服务器内存中的。
本文介绍了Keepalived的核心原理与安装配置方法。Keepalived是一个自动化故障检测与切换工具,通过健康检查实现服务器集群的高可用性。文章详细展示了在CentOS系统上编译安装Keepalived的完整步骤,包括依赖安装、编译配置、启动脚本设置等关键环节。重点讲解了Keepalived的四种核心文件(启动脚本、参数文件、主配置文件和主程序)及其协作关系。最后给出了一个双机热备应用案例,
《Gen6 SSD测试环境搭建指南:三种方案解决无Gen6服务器难题》 摘要: 随着Gen6 SSD进入研发验证阶段,但Gen6服务器尚未普及,如何搭建有效测试环境成为行业痛点。本文介绍了通过PCIe6.0 Switch卡构建测试平台的三种方案:1) CEM转EDSFF转接卡方案适合单盘快速验证;2) MCIO转双EDSFF转接线提供灵活布线,支持多盘连接;3) 转接盘柜方案最接近真实服务器环境,
机器重启后,数据还在不在?Write-Ahead Logging(WAL,预写日志):每次修改数据时,先把"我做了什么改动"这句话记到 redo log(重做日志,相当于操作流水账)里,确认日志写成功了,再去内存中真正修改数据。即使还没来得及把内存数据刷到磁盘就崩溃了,重启后靠 redo log 回放就能恢复所有已提交的修改。Doublewrite Buffer(双写缓冲):InnoDB 的数据页
原生系统无任何限流机制,接口完全裸奔,安全性极差。本文将基于Redis实现分布式接口限流,支持IP、用户账号双维度限流,支持自定义限流频次,适配集群部署,附带完整可落地代码。可针对不同接口精细化配置防护规则,有效拦截恶意刷接口、爬虫高频抓取、恶意刷单等行为,保护服务器与数据库资源,大幅提升跨境站点抗攻击能力,是商用跨境系统必备的安全防护方案。分布式限流核心原理是借助Redis的过期键+自增计数器特
分布式缓存是指将缓存数据分布存储在 多台服务器 上,以便在高并发场景下提供更高的吞吐量和更好的容错性。查询一个数据库中也不存在的数据,导致每次都查数据库。某个热点 Key 过期,大量请求同时打到数据库。大量 Key 同时过期,数据库压力突然增大。如果 Redis 中没有数据,查询数据库。数据库和 Redis 可能短时间不一致。最后应用把数据库查到的数据返回给用户。如果 Redis 中有数据,直接返
Redis 是完全开源的,遵守 BSD 协议,是一个高性能的 key-value 数据库。Redis 使用单线程处理请求(6.0 前),原因:bash12. 常用命令命令说明查看服务器状态信息切换数据库(0-15)查看所有 key(生产环境慎用!)当前库 key 数量清空当前库清空所有库关闭 Redis 服务动态修改配置慢查询日志13. 安装(CentOS 7 源码安装)bash14. 配置文件核
在多个服务器(进程)之间,保证同一时刻只有一个能执行某段代码。:公共厕所门锁 → 有人进去锁门,其他人等着,出来下一个人再进。
本文以思维导图形式系统总结了计算机系统基础知识的核心概念,分为五大模块:计算机组成原理、存储体系、操作系统、数据库基础和系统性能。重点内容包括冯·诺依曼架构、CPU结构、存储层次、进程/线程管理、事务ACID特性等核心概念,并提供了速记卡、常考公式和面试问题解答。文中特别强调计算机系统基础知识作为架构学习基础的重要性,建议读者通过思维导图可视化记忆,并分三个阶段循序渐进掌握:从理解基本架构到深入同
本文深入解析Linux内核中schedutil调频器的cached_raw_freq缓存机制。该机制通过存储上一次计算的原始频率值,在负载稳定时直接复用缓存结果,避免重复的频率计算和硬件匹配操作,显著降低高并发场景下的调频开销。文章详细介绍了该机制的工作原理、应用场景(如高并发服务器、嵌入式实时系统)、源码实现(关键get_next_freq函数),并提供了完整的实验环境搭建指南和四种实操方法(包