色尼玛亚洲综合影院,亚洲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的內存存儲,轉載需保留來源!

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

主站蜘蛛池模板: 嘉兴市| 巍山| 南岸区| 吕梁市| 沙田区| 富锦市| 辉南县| 伊宁县| 宜章县| 镇宁| 衢州市| 通化市| 天津市| 弥渡县| 阜宁县| 阿坝| 库伦旗| 鄄城县| 麻栗坡县| 阳曲县| 江油市| 海南省| 正镶白旗| 贡嘎县| 阿合奇县| 卢氏县| 江安县| 金乡县| 岳西县| 武邑县| 潼南县| 太仓市| 田东县| 南丹县| 天气| 卓尼县| 永川市| 五峰| 离岛区| 卓尼县| 建湖县|