<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 4.3 memcached的內存管理 最近的 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 的集合) ![](https://img.kancloud.cn/49/27/4927e12dd85486012fbef7186a0771ba_914x684.png) 而且,slab allocator 還有重復使用已分配的內存的目的。也就是說,分配到的內存不會釋放,而是重復利用。 Slab Allocation 的主要術語 `Page` 分配給 Slab 的內存空間,默認是 1MB。分配給 `Slab` 之后根據 slab 的大小切分成 chunk。 `Chunk` 用于緩存記錄的內存空間。 `Slab Class 特定大小的 chunk 的組。 下面說明 memcached 如何針對客戶端發送的數據選擇 slab 并緩存到 chunk 中。 memcached 根據收到的數據的大小,選擇最適合數據大小的 slab。memcached 中保存著 slab 內空閑 chunk 的列表,根據該列表選擇 chunk,然后將數據緩存于其中。 ![](https://img.kancloud.cn/d9/39/d9395eb47a314aa6aa6a21e5c7e89033_674x476.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看