电子产业一站式赋能平台

PCB联盟网

搜索
查看: 129|回复: 0
收起左侧

简述优化 Linux 内存性能的核心思想

[复制链接]

1077

主题

1077

帖子

1万

积分

论坛法老

Rank: 6Rank: 6

积分
11496
发表于 2024-2-19 08:31:00 | 显示全部楼层 |阅读模式

kvaxhiklhll6402029247.png

kvaxhiklhll6402029247.png
5 R( m  b2 d9 C! R; ~+ a
最近有小伙伴说没有收到当天的文章推送,这是因为微信改了推送机制,有一部分小伙伴刷不到当天的文章,一些比较实用的知识和信息,错过了就是错过了,建议大家加个星标??,就能第一时间收到推送。
& ~# D4 s4 t  D

mpel2fw3r1c6402029347.png

mpel2fw3r1c6402029347.png

+ ]6 q3 [' m) g7 y7 F原文:linux网络虚拟化
5 C! N0 P/ h9 T& R# z3 ?
今天分享一篇内存性能优化的文章,文章用了大量精美的图深入浅出地分析了 Linux 内核 slab 性能优化的核心思想2 V. Z& B; L5 f/ y( t
slab是 Linux 内核小对象内存分配最重要的算法,文章分析了内存分配的各种性能问题(在不同的场景下面),并给出了这些问题的优化方案,这个对我们实现高性能内存池算法,或以后遇到内存性能问题的时候,有一定的启发,值得我们学习。
& b+ H* G6 L; n. C# w/ n, fLinux 内核的 slab 来自一种很简单的思想,即事先准备好一些会频繁分配、释放的数据结构。然而标准的 slab 实现太复杂且维护开销巨大,因此便分化出了更加小巧的 slub,因此本文讨论的就是 slub,后面所有提到slab 的地方,指的都是 slub。另外又由于本文主要描述内核优化方面的内容,因此想了解 slab 细节以及代码实现的请查看源码。单CPU上单纯的slab下图给出了单 CPU 上 slab 在分配和释放对象时的情景序列:
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表