posts - 3,  comments - 0,  trackbacks - 0
通常采用malloc和free来管理内存,但是容易造成内存碎片,反而加重操作系统内存管理的负担。 memcached底层的内存管理机制,使用了slab
slab的基本思想,是把内存划分为一定大小的块,并把尺寸大小相同的块划分为组。
slab还有重复使用已分配内存的功能,也就是说分配的内存不会被释放,只会被重复利用。这就减少申请和销毁内存所消耗的时间?
memcached维护着一个空闲slab块列表,存数据的时候,会选择一个最合适的块,存入数据。(这个列表会有多大? 16G/ 1M = 16M = 214 ) memcached中 key/value 的Map是怎么组织的? 可以直接使用STL中的map来组织?
posted on 2009-07-30 01:44 thinke365 阅读(259) 评论(0)  编辑 收藏 引用 所属分类: HPC

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理