打印
[嵌入式linux]

内存碎片与优化

[复制链接]
54|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
forgot|  楼主 | 2025-4-30 11:35 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
操作系统提供api(malloc/calloc/realloc/free)由程序员控制内存的申请与释放,底层是通过链表进行管理内存(已经使用的内存/已经释放的可重用内存)的。
链表管理堆内存,频繁的申请和释放(例如,频繁申请和释放小内存),小内存释放后,链表管理中,无法有效重用,内存利用率不高,内存碎片过多,甚至可能用完内存,导致程序崩溃。内存池还能提高数据局部性。因为对象在内存池中是连续分配的,访问起来缓存命中率高,减少缓存失效,提升性能。内存池可以更好地控制内存的使用情况,比如统计内存使用量,检测内存泄漏,或者实现定制的垃圾回收机制。

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1938

主题

13994

帖子

58

粉丝