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

memcached全面剖析–2. 理解memcached的內(nèi)存存儲

系列文章導(dǎo)航:

memcached完全剖析–1. memcached的基礎(chǔ)

memcached全面剖析–2. 理解memcached的內(nèi)存存儲

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

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

memcached全面剖析–5. memcached的應(yīng)用和兼容程序


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

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

我是mixi株式會社研究開發(fā)組的前坂徹。 上次的文章介紹了memcached是分布式的高速緩存服務(wù)器。 本次將介紹memcached的內(nèi)部構(gòu)造的實現(xiàn)方式,以及內(nèi)存的管理方式。 另外,memcached的內(nèi)部構(gòu)造導(dǎo)致的弱點也將加以說明。

Slab Allocation機制:整理內(nèi)存以便重復(fù)使用

最近的memcached默認情況下采用了名為Slab Allocator的機制分配、管理內(nèi)存。 在該機制出現(xiàn)以前,內(nèi)存的分配是通過對所有記錄簡單地進行malloc和free來進行的。 但是,這種方式會導(dǎo)致內(nèi)存碎片,加重操作系統(tǒng)內(nèi)存管理器的負擔,最壞的情況下, 會導(dǎo)致操作系統(tǒng)比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的基本原理是按照預(yù)先規(guī)定的大小,將分配的內(nèi)存分割成特定長度的塊, 以完全解決內(nèi)存碎片問題。

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

NET技術(shù)memcached全面剖析–2. 理解memcached的內(nèi)存存儲,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 安福县| 陵川县| 五指山市| 南岸区| 宜兴市| 建阳市| 仁寿县| 察隅县| 清远市| 沙田区| 珲春市| 蛟河市| 昌平区| 田阳县| 亳州市| 萨迦县| 乐清市| 洛南县| 宣威市| 东乌珠穆沁旗| 博罗县| 安庆市| 烟台市| 蒲江县| 普兰县| 梁平县| 莲花县| 运城市| 奉化市| 安新县| 渝北区| 化隆| 石河子市| 静乐县| 海阳市| 乐都县| 昆山市| 敖汉旗| 洞头县| 通榆县| 永春县|