色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

memcached全面剖析–2. 理解memcached的內存存儲

系列文章導航:

memcached完全剖析–1. memcached的基礎

memcached全面剖析–2. 理解memcached的內存存儲

memcached全面剖析–3. memcached的刪除機制和發展方向

memcached全面剖析–4. memcached的分布式算法

memcached全面剖析–5. memcached的應用和兼容程序


下面是《memcached全面剖析》的第二部分。

發表日:2008/7/9
作者:前坂徹(Toru Maesaka)
原文鏈接:http://gihyo.jp/dev/feature/01/memcached/0002

我是mixi株式會社研究開發組的前坂徹。 上次的文章介紹了memcached是分布式的高速緩存服務器。 本次將介紹memcached的內部構造的實現方式,以及內存的管理方式。 另外,memcached的內部構造導致的弱點也將加以說明。

Slab Allocation機制:整理內存以便重復使用

最近的memcached默認情況下采用了名為Slab Allocator的機制分配、管理內存。 在該機制出現以前,內存的分配是通過對所有記錄簡單地進行malloc和free來進行的。 但是,這種方式會導致內存碎片,加重操作系統內存管理器的負擔,最壞的情況下, 會導致操作系統比memcached進程本身還慢。Slab Allocator就是為解決該問題而誕生的。

下面來看看Slab Allocator的原理。下面是memcached文檔中的slab allocator的目標:

the primary goal of the slabs subsystem in memcached was to eliminate memory fragmentation issues totally by using fixed-size memory chunks coming from a few predetermined size classes.

也就是說,Slab Allocator的基本原理是按照預先規定的大小,將分配的內存分割成特定長度的塊, 以完全解決內存碎片問題。

Slab Allocation的原理相當簡單。 將分配的內存分割成各種尺寸的塊(chunk), 并把尺寸相同的塊分成組(chunk的集合)(圖1)。

NET技術memcached全面剖析–2. 理解memcached的內存存儲,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 图片| 方山县| 宁远县| 尉氏县| 赤城县| 仙游县| 平利县| 高邑县| 韶山市| 甘孜| 南投市| 且末县| 奉化市| 鹤岗市| 石渠县| 依安县| 盐津县| 板桥市| 博兴县| 丹寨县| 富平县| 泽库县| 延吉市| 保康县| 富宁县| 台山市| 揭东县| 闸北区| 文化| 虞城县| 金川县| 鱼台县| 新巴尔虎右旗| 盖州市| 卓尼县| 赤城县| 奈曼旗| 和静县| 梁河县| 宽甸| 图木舒克市|