日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux 内存管理优化,Linux性能优化实战 内存篇 阅读笔记

發(fā)布時(shí)間:2023/12/9 linux 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux 内存管理优化,Linux性能优化实战 内存篇 阅读笔记 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

第十五講 基礎(chǔ)篇:Linux內(nèi)存是怎么工作的(2020.6.8)

這一講相關(guān)的內(nèi)容正好之前看csapp的時(shí)候總結(jié)了一下,可以直接貼出來作為總結(jié)了。

Linux的內(nèi)存工作原理,這又是一個(gè)特別大的話題。一切向著盡量利用物理資源的方向在發(fā)展,

在沒有虛擬內(nèi)存的世界里,所以的進(jìn)程都能看到同一個(gè)物理內(nèi)存在這種模式下如果有多個(gè)進(jìn)程那么這個(gè)內(nèi)存管理就很復(fù)雜了(在DSP,嵌入時(shí)系統(tǒng)中可能總共就一個(gè)程序這時(shí)候完全可以直接使用物理內(nèi)存)。針對(duì)Unix這種多進(jìn)程的系統(tǒng)后來就有了虛擬內(nèi)存的概念。

虛擬內(nèi)存 是硬件異常,硬件地址翻譯,主存,磁盤和內(nèi)核軟件的完美交互,他為沒有進(jìn)程提供一個(gè)很大的,一致的地址空間。

它將內(nèi)存看成一個(gè)存儲(chǔ)在磁盤上很大的連續(xù)的空間,在主存中只保存活動(dòng)區(qū)域,并根據(jù)需要在磁盤和主存之間來回傳遞數(shù)據(jù),通過這種方式很好的使用了內(nèi)存。

為每個(gè)進(jìn)程提供了一致的地址空間,從而簡(jiǎn)化了內(nèi)存管理

每個(gè)進(jìn)程的地址空間是獨(dú)立的,避免了進(jìn)程之間在地址空間上的破壞

物理地址和虛擬地址

物理尋址(嵌入式設(shè)備/DSP設(shè)備):

虛擬尋址系統(tǒng)(現(xiàn)代處理器):

虛擬內(nèi)存作為磁盤的高速緩存工具

DRAM 作為磁盤的緩存,通過虛擬內(nèi)存來管理磁盤上的那個(gè)塊緩存到內(nèi)存中來。

VP(virtual page):將虛擬內(nèi)存分割成大小固定的塊

PP(physical page):物理頁(葉幀)

VP---->PP 關(guān)系

通過頁表(page table) 來判定一個(gè)虛擬頁是否緩存在DRAM中。如果命中就指向一個(gè)物理頁中, 如果不命中,系統(tǒng)必須判斷這個(gè)虛擬頁存放在磁盤的那個(gè)位置,在物理內(nèi)存中選擇犧牲一個(gè)頁,將虛擬頁從磁盤復(fù)制到DRAM中,替換掉犧牲頁。

頁命中:

缺頁:

虛擬內(nèi)存作為內(nèi)存管理工具

虛擬內(nèi)存除了作為磁盤的高速緩存之外,還作為L(zhǎng)inux的內(nèi)存管理工具,這樣Linux中的每個(gè)進(jìn)程都有相同的的地址空間格式,兩個(gè)進(jìn)程通過將虛擬頁面映射到相同的物理頁幀上是實(shí)現(xiàn)了共享內(nèi)存。

虛擬內(nèi)存作為內(nèi)存保護(hù)的工具

地址翻譯

多級(jí)頁表:

linux 內(nèi)存系統(tǒng)

內(nèi)存分配與回收

標(biāo)準(zhǔn)庫中的malloc有兩種實(shí)現(xiàn)方式:

小塊內(nèi)存(小于128k) 使用sbrk分配(釋放并不返還給系統(tǒng),容易造成系統(tǒng)碎片(詳細(xì)見參考2))

大塊內(nèi)存(大于128k) 使用mmap內(nèi)存映射的方式分配(每次unmap之后都會(huì)返還給系統(tǒng),所以每次mallo都會(huì)導(dǎo)致缺頁異常,內(nèi)核的管理負(fù)擔(dān)增大)

系統(tǒng)回收內(nèi)存三種方式

LRU

回收不常訪問的內(nèi)存,把不常訪問的內(nèi)存通過交換分區(qū)直接寫入磁盤

OOM

參考資料

總結(jié)

以上是生活随笔為你收集整理的linux 内存管理优化,Linux性能优化实战 内存篇 阅读笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。