🎮 服务器资源管理
30章
⚡ 内存优化实战
1
资源管理基础
概述
游戏服务器资源概述 · CPU与内存模型 · 资源泄漏的危害
2
内存分配与回收
核心
堆与栈的区别 · new/delete与malloc/free · RAII原则
3
智能指针实战
现代C++
shared_ptr · unique_ptr · weak_ptr 使用场景与陷阱
4
对象池技术
设计模式
对象池设计模式 · 固定大小对象池 · 动态扩容对象池
5
内存池原理
底层
连续内存分配 · 伙伴算法 · slab分配器
6
字符串优化
性能
std::string的COW与SSO · 小字符串优化 · 字符串池化
7
容器选择指南
STL
vector vs list vs deque · map vs unordered_map · 内存开销对比
8
缓存友好设计
CPU
CPU缓存行 · 伪共享问题 · 数据对齐与填充
9
网络缓冲区管理
IO
环形缓冲区 · 零拷贝技术 · sendfile与splice
10
连接池与线程池
并发
连接复用 · 线程池大小调优 · 任务窃取算法
11
数据库连接优化
存储
连接池配置 · SQL预处理 · 批量操作与事务合并
12
日志系统设计
可观测
异步日志 · 缓冲区刷新策略 · 日志级别与性能
13
配置管理
运维
热加载配置 · 配置缓存 · 版本控制与回滚
14
定时器与时间轮
调度
时间轮算法 · 层级时间轮 · 定时器精度与性能
15
事件驱动模型
架构
Reactor与Proactor · epoll与kqueue · 事件分发优化
16
协程与异步编程
现代
协程栈大小 · 协程切换开销 · 异步回调地狱
17
序列化与反序列化
协议
protobuf vs flatbuffers · 内存映射 · 零拷贝序列化
18
热更新与热修复
DevOps
代码热加载 · 数据热更新 · 不停服维护策略
19
内存监控与诊断
工具
Valgrind · AddressSanitizer · 内存快照分析
20
性能剖析工具
调优
perf · gprof · 火焰图生成与解读
21
GC与引用计数
内存安全
引用计数循环引用 · GC停顿优化 · 增量式GC
22
资源泄漏检测
Debug
Hook malloc/free · 栈回溯 · 泄漏报告生成
23
内存碎片整理
算法
碎片率计算 · 紧凑算法 · 分代回收
24
分布式缓存
架构
Redis内存优化 · 本地缓存与远程缓存 · 一致性哈希
25
文件系统优化
IO
mmap vs read/write · 预读策略 · IO合并
26
数据库内存管理
引擎
InnoDB缓冲池 · 查询缓存 · 索引内存优化
27
容器化与资源限制
云原生
Docker内存限制 · cgroup配置 · OOM处理
28
压测与容量规划
SRE
负载模型 · 资源预估 · 弹性伸缩策略
29
实战案例一
MMORPG
MMORPG场景服务器内存优化
30
实战案例二
实时对战
实时对战服务器CPU与内存调优