在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

探究slab在內(nèi)核內(nèi)存管理和用戶態(tài)Memcached的雙重存在

B4Pb_gh_6fde77c ? 來源:Linux閱碼場 ? 作者: 宋寶華 ? 2021-08-13 14:55 ? 次閱讀

很多基礎(chǔ)的概念,將跨越軟件的層次而存在。比如slab,對(duì)于內(nèi)核人員,我們都知道slab是buddy之上的一層。

因?yàn)閎uddy作為Linux內(nèi)核最底層的內(nèi)存管理器,它分配1頁,2頁,4頁,2^n頁,但是作為內(nèi)核的堆用戶本身,經(jīng)常只是調(diào)用kmalloc()申請(qǐng)一個(gè)小內(nèi)存,或者調(diào)用kmem_cache_alloc()申請(qǐng)一個(gè)數(shù)據(jù)結(jié)構(gòu),2^n頁給它,會(huì)形成大量碎片浪費(fèi)。所以slab找buddy要了2^n頁后,內(nèi)部切割為同樣size的object,再給kmalloc和kmem_cache_alloc()拿走。

697d87de-fbba-11eb-9bcf-12bb97331649.png

它的邏輯如下:

6991d324-fbba-11eb-9bcf-12bb97331649.png

這樣一種軟件本質(zhì)意義上的需求,不會(huì)因?yàn)橹皇莾?nèi)核就需要。比如同樣的slab算法,也被著名的用戶態(tài)軟件Memcached需要著。

Memcached是一種分布式內(nèi)存對(duì)象緩存系統(tǒng),用于動(dòng)態(tài)Web等應(yīng)用以減輕數(shù)據(jù)庫的負(fù)載。它在內(nèi)存中緩存數(shù)據(jù)和對(duì)象,使用key-value對(duì)形式存儲(chǔ)。它的網(wǎng)站首頁(https://memcached.org/)顯示了它的基本用法邏輯:

Memcached的原理也類似內(nèi)核態(tài)page cache的原理:

69a6c658-fbba-11eb-9bcf-12bb97331649.jpg

比如你查詢一個(gè)數(shù)據(jù)庫,可以先看看Memcached里面有沒有命中,命中就直接從Memcached的內(nèi)存里面拿到值了,沒有的時(shí)候才需要去查數(shù)據(jù)庫。查到后,可以把結(jié)果放入Memcached,這樣下次再訪問同樣數(shù)據(jù),不再需要進(jìn)行數(shù)據(jù)庫的查詢動(dòng)作。

Memcached也同樣采用slab分配算法來組織數(shù)據(jù)的存放,里面可以組織不同大小的chunks:

正如Linux內(nèi)核的每一種不同slab里面的object的大小不一樣。

我們安裝1個(gè)Memcached:

$ sudo apt-get install memcached

然后啟動(dòng)起來,你馬上看到memcached打印說自己創(chuàng)建了各種不同chunk size的slab:

69d4799a-fbba-11eb-9bcf-12bb97331649.png

當(dāng)然,還有更多的相似性,比如Memcached里面的對(duì)象,也是LRU算法替換。所以LRU這種,也是一種本質(zhì)上的事情。

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • Web
    Web
    +關(guān)注

    關(guān)注

    2

    文章

    1284

    瀏覽量

    70899
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11469

    瀏覽量

    212908
  • 數(shù)據(jù)庫
    +關(guān)注

    關(guān)注

    7

    文章

    3904

    瀏覽量

    65822
  • 管理器
    +關(guān)注

    關(guān)注

    0

    文章

    252

    瀏覽量

    18956

原文標(biāo)題:宋寶華:slab在內(nèi)核內(nèi)存管理和用戶態(tài)Memcached的雙重存在

文章出處:【微信號(hào):gh_6fde77c41971,微信公眾號(hào):FPGA干貨】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    harmony OS NEXT-通過用戶首選項(xiàng)實(shí)現(xiàn)數(shù)據(jù)持久化

    存儲(chǔ)的地方,可以采用用戶首選項(xiàng)來進(jìn)行存儲(chǔ)。Preferences會(huì)將該數(shù)據(jù)緩存在內(nèi)存中,當(dāng)用戶讀取的時(shí)候,能夠快速從內(nèi)存中獲取數(shù)據(jù),當(dāng)需要持久化時(shí)可以使用flush接口將
    的頭像 發(fā)表于 04-29 16:38 ?371次閱讀

    Linux系統(tǒng)中通過預(yù)留物理內(nèi)存實(shí)現(xiàn)ARM與FPGA高效通信的方法

    管理子系統(tǒng)管理。因此,需要預(yù)留一部分物理內(nèi)存,使其不被內(nèi)核管理。接下來將為大家詳細(xì)介紹在 Linux 系統(tǒng)中通過預(yù)留物理
    的頭像 發(fā)表于 04-16 13:42 ?568次閱讀
    Linux系統(tǒng)中通過預(yù)留物理<b class='flag-5'>內(nèi)存</b>實(shí)現(xiàn)ARM與FPGA高效通信的方法

    嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-內(nèi)核空間與用戶空間的數(shù)據(jù)拷貝之?dāng)?shù)據(jù)拷貝介紹

    本帖最后由 jf_13411809 于 2025-3-20 14:10 編輯 在Linux系統(tǒng)中,內(nèi)核空間和用戶空間是兩個(gè)獨(dú)立的地址空間,它們有不同的訪問權(quán)限和內(nèi)存保護(hù)機(jī)制。在內(nèi)核
    發(fā)表于 03-20 11:50

    飛凌嵌入式ElfBoard ELF 1板卡-內(nèi)核空間與用戶空間的數(shù)據(jù)拷貝之?dāng)?shù)據(jù)拷貝介紹

    在Linux系統(tǒng)中,內(nèi)核空間和用戶空間是兩個(gè)獨(dú)立的地址空間,它們有不同的訪問權(quán)限和內(nèi)存保護(hù)機(jī)制。在內(nèi)核空間和用戶空間之間進(jìn)行數(shù)據(jù)傳輸時(shí),需要
    發(fā)表于 03-19 08:55

    飛凌嵌入式ElfBoard ELF 1板卡-Linux內(nèi)核移植之內(nèi)核啟動(dòng)流程

    關(guān)于內(nèi)核啟動(dòng)流程涉及內(nèi)容較多而且復(fù)雜,過度的分析意義不大,因此,這里不做詳細(xì)講解,只做一個(gè)大概的介紹。初學(xué)者只做了解,有一定基礎(chǔ)的可以深入理解。 內(nèi)核鏡像被uboot加載到內(nèi)存空間之后,獲得控制權(quán)
    發(fā)表于 01-06 09:51

    Redis緩存與Memcached的比較

    Redis和Memcached都是廣泛使用的內(nèi)存數(shù)據(jù)存儲(chǔ)系統(tǒng),它們主要用于提高應(yīng)用程序的性能,通過減少對(duì)數(shù)據(jù)庫的直接訪問來加速數(shù)據(jù)檢索。以下是對(duì)Redis和Memcached的比較,涵蓋了它們的一些
    的頭像 發(fā)表于 12-18 09:33 ?536次閱讀

    虛擬內(nèi)存溢出該怎么處理 虛擬內(nèi)存在服務(wù)器中的應(yīng)用

    在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,虛擬內(nèi)存是一種重要的資源管理技術(shù),它允許系統(tǒng)使用硬盤空間來擴(kuò)展物理內(nèi)存的容量。然而,當(dāng)系統(tǒng)運(yùn)行的程序和進(jìn)程超出了物理內(nèi)存和虛擬內(nèi)
    的頭像 發(fā)表于 12-04 09:49 ?728次閱讀

    Linux下如何管理虛擬內(nèi)存 使用虛擬內(nèi)存時(shí)的常見問題

    在Linux系統(tǒng)中,虛擬內(nèi)存管理是操作系統(tǒng)內(nèi)核的一個(gè)重要功能,負(fù)責(zé)管理物理內(nèi)存和磁盤上的交換空間。以下是對(duì)Linux下如何
    的頭像 發(fā)表于 12-04 09:19 ?1255次閱讀

    嵌入式工程師都在找的【Linux內(nèi)核調(diào)試技術(shù)】建議收藏!

    printk()調(diào)用,可以直接將關(guān)心的信息打印到屏幕上,從而觀察程序的執(zhí)行路徑和變量的變化情況。 printk()類似于用戶空間的printf(),但它在內(nèi)核空間使用,并受到內(nèi)核日志系統(tǒng)的
    發(fā)表于 11-28 15:37

    Linux內(nèi)存管理中HVO的實(shí)現(xiàn)原理

    代碼閱讀工具:vim+ctags+cscope本文主要介紹內(nèi)存管理中的HVO(HugeTLB Vmemmap Optimization)特性,通過HVO可以節(jié)省管理HugeTLB 頁面元數(shù)據(jù)
    的頭像 發(fā)表于 10-22 16:51 ?597次閱讀
    Linux<b class='flag-5'>內(nèi)存</b><b class='flag-5'>管理</b>中HVO的實(shí)現(xiàn)原理

    Windows管理內(nèi)存的三種主要方式

    Windows操作系統(tǒng)提供了多種方式來管理內(nèi)存,以確保系統(tǒng)資源的有效利用和性能的優(yōu)化。以下是關(guān)于Windows管理內(nèi)存的三種主要方式的詳細(xì)闡述,包括堆
    的頭像 發(fā)表于 10-12 17:09 ?2234次閱讀

    線上活動(dòng) | 新思科技 2024 內(nèi)存用戶大會(huì),專注于內(nèi)存設(shè)計(jì)與開發(fā)!

    思科技?2024 內(nèi)存用戶大會(huì)(線上活動(dòng)) 新思科技內(nèi)存用戶大會(huì)”是一場專注于內(nèi)存設(shè)計(jì)與開發(fā)的線上盛會(huì),匯聚
    發(fā)表于 09-26 14:36 ?186次閱讀
    線上活動(dòng) | 新思科技 2024 <b class='flag-5'>內(nèi)存</b><b class='flag-5'>用戶</b>大會(huì),專注于<b class='flag-5'>內(nèi)存</b>設(shè)計(jì)與開發(fā)!

    內(nèi)存管理的硬件結(jié)構(gòu)

    常見的內(nèi)存分配函數(shù)有malloc,mmap等,但大家有沒有想過,這些函數(shù)在內(nèi)核中是怎么實(shí)現(xiàn)的?換句話說,Linux內(nèi)核內(nèi)存管理是怎么實(shí)現(xiàn)的
    的頭像 發(fā)表于 09-04 14:28 ?599次閱讀
    <b class='flag-5'>內(nèi)存</b><b class='flag-5'>管理</b>的硬件結(jié)構(gòu)

    Memcached介紹和詳解

    Memcached易于理解和維護(hù),同時(shí)也保證了其高性能。 2. 高性能:Memcached采用基于Slab Allocator的內(nèi)存管理機(jī)制
    發(fā)表于 07-17 15:58

    ESP-IDF內(nèi)核中的內(nèi)存管理如何驗(yàn)證?

    請(qǐng)教一下,ESP-IDF 內(nèi)核中的內(nèi)存管理如何驗(yàn)證
    發(fā)表于 06-19 06:30
    主站蜘蛛池模板: 高黄视频 | 天天干夜夜叭 | 欧美一区二区三区性 | 欧美视频小说 | 亚洲爱v| 亚洲一区亚洲二区 | 神马午夜51 | 操干干| 天堂影院在线 | 久久久久毛片成人精品 | 久热国产精品视频 | 国产亚洲婷婷香蕉久久精品 | 狠狠躁夜夜躁人人躁婷婷视频 | 综合五月天婷婷丁香 | 狠狠干成人 | 福利片网站 | 亚洲操操操 | 大乳妇女bd视频在线观看 | 久久夜夜肉肉热热日日 | 午夜大片免费完整在线看 | 狠狠丁香激情久久综合 | 日日做日日摸夜夜爽 | 国产亚洲3p无码一区二区 | 日韩免费网站 | 亚洲一区二区三区四 | 国产精品成人一区二区三区 | 午夜小片 | 激情五月播播 | 天天操夜夜夜 | 国产日日操 | 四虎最新紧急入口 | 日本高清视频不卡 | 国产精品久久久久久久午夜片 | 色综合久久88色综合天天 | 午夜丁香影院 | 免费手机黄色网址 | 午夜免费小视频 | 久久久免费视频播放 | 网站免费黄 | 欧美久久天天综合香蕉伊 | 国产又大又黄又粗又爽 |