文档章节

内存池(Memory Pool)

QMonkey
 QMonkey
发布于 2014/06/17 21:43
字数 402
阅读 52
收藏 0
内存池是一种内存分配方式。
在C和C++里,经常使用malloc,free,new,delete分配或释放内存。这样做的缺点是: 由于所申请的内存块大小不一定,当频繁使用这些函数或操作符时会造成内存碎片并进而降低性能。
内存池的做法是: 在真正使用内存之前,先申请分配一定数量的、大小相等(一般情况下)的内存块留作备用。当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存。这样做的一个显著优点是有效避免了内存碎片,使得内存分配效率得到提升。


(1)针对特殊情况,例如需要频繁分配释放固定大小的内存对象时,不需要复杂的分配算法和多线程保护。也不需要维护内存空闲表的额外开销,从而获得较高性能。
(2)由于开辟了一定数量的连续内存空间作为内存块,因而一定程度提高了程序局部性,提高了性能。
(3)比较容易控制页边界对齐和内存对齐,没有内存碎片问题。
(4)当需要分配管理较小内存的时候,使用内存池会节省大量时间,否则会耗费更多时间。
(5)内存池可以防止更多的内存碎片产生
(6)更方便与内存管理


参考链接: http://en.wikipedia.org/wiki/Memory_pool

© 著作权归作者所有

共有 人打赏支持
QMonkey
粉丝 0
博文 8
码字总数 8066
作品 0
广州
【每日一摩斯】-Fundamentals of the Large Pool

以下内容介绍从Oracle 8引入的‘Large Pool’。 什么是Large Pool(翻译过来叫“大池”)? 大池是SGA中一块类似于shared pool的区域,但是它的使用又有严格的限制,仅有几种类型和大小的内存能...

bisal
2013/09/04
0
0
nginx源码分析—内存池结构ngx_pool_t及内存管理

本博客(http://blog.csdn.net/livelylittlefish)贴出作者(阿波)相关研究、学习内容所做的笔记,欢迎广大朋友指正! Content 0. 序 1. 内存池结构 1.1 ngxpoolt结构 1.2 其他相关结构 1....

晨曦之光
2012/03/09
1K
0
Mysql 体系结构 和 存储引擎

前言:数据库的引擎是整个mysql数据库的核心组件,mysql的存储引擎众多,MyISAM、InnoDB、Memory、Archive等,其中InnoDB是mysql里面支持事务类型的一个存储引擎最好的一个,雅虎、facebook、...

pan_1308
2016/10/14
9
0
SQL Server 2014新特性——Buffer Pool扩展

Buffer Pool扩展 Buffer Pool扩展是buffer pool 和非易失的SSD硬盘做连接。以SSD硬盘的特点来提高随机读性能。 缓冲池扩展优点 SQL Server读以随机读为主,SQL Server IO分为2部分:buffer ...

技术小胖子
2017/11/07
0
0
在MySQL 5.7下排查内存泄露和OOM问题全过程

0、导读 我的个人网站后台使用的是MySQL 5.7版本,前段时间经常被oom-kill,借助5.7的新特性,经过一番排查,终于抓到这只鬼。 1、问题现象 我的网站前段时间经常时不时就抽风一下,提示数据...

iMySQL | 老叶茶馆
2017/03/27
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Memcached启动参数详解

memcached -d -m 1024 -l 192.168.100.101 -p 11211 -P /tmp/memcached.pid -c 1024 -f 1.25 -n 80 -t 16 运行参数描述 -d:以守护(daemon)进程方式启动; -u:是运行Memcache的用户,例如 ......

月下狼
27分钟前
0
0
xgboost-kaggle

https://www.kaggle.com/dansbecker/xgboost This tutorial is part of the Learn Machine Learning series. In this step, you will learn how to build and optimize models with the powe......

tantexian
28分钟前
0
0
nginx学习八 代理服务

最常用的语法 proxy_pass Syntax: proxy_pass URL;Default: --Context:location.if in location,limit_exception 反向代理 例:/etc/nginx/conf.d/default.conf 反向代理(代理服务端)......

Romanceling
35分钟前
0
0
npm ERR! Unexpected end of JSON ...

npm install 报错: npm ERR! Unexpected end of JSON input while parsing near '..."^2.8.14"},"_hasShrin' npm ERR! A complete log of this run can be found in: ... 打开终端 命令: 第......

大_侠
40分钟前
0
0
Android中的设计模式之责任链模式

参考 《设计模式:可复用面向对象软件的基础 》5.1 Chain of responsibility 职责链 对象行为型模式 《Android源码设计模式解析与实战》第9章 使编程更有灵活性--责任链模式 意图 使多个对象...

newtrek
43分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部