導航:首頁 > 操作系統 > kswapdlinux

kswapdlinux

發布時間:2024-11-14 01:19:36

linux內存回收的三種方式

1. 快速內存回收:處於get_page_from_freelist()函數中,在遍歷zonelist過程中,對每個zone都在分配前進行判斷,如果分配後zone的空閑內存數量 < 閥值 + 保留頁框數量,那麼此zone就會進行快速內存回收。其中閥值可能是min/low/high的任何一種,因為在快速內存分配,慢速內存分配和oom分配過程中如果回收的頁框足夠,都會調用到get_page_from_freelist()函數,所以快速內存回收不僅僅發生在快速內存分配中,在慢速內存分配過程中也會發生。
2. 直接內存回收:處於慢速分配過程中,直接內存回收只有一種情況下會使用,在慢速分配中無法從zonelist的所有zone中以min閥值分配頁框,並且進行非同步內存壓縮後,還是無法分配到頁框的時候,就對zonelist中的所有zone進行一次直接內存回收。注意,直接內存回收是針對zonelist中的所有zone的,它並不像快速內存回收和kswapd內存回收,只會對zonelist中空閑頁框不達標的zone進行內存回收。在直接內存回收中,有可能喚醒flush內核線程。
3. kswapd內存回收:發生在kswapd內核線程中,每個node有一個swapd內核線程,也就是kswapd內核線程中的內存回收,是只針對所在node的,並且只會對分配了order頁框數量後空閑頁框數量 < 此zone的high閥值 + 保留頁框數量的zone進行內存回收,並不會對此node的所有zone進行內存回收。

閱讀全文

與kswapdlinux相關的資料

熱點內容
百度網盤伺服器加速下載地址 瀏覽:867
pythontempfile模塊 瀏覽:143
電影網站php源碼 瀏覽:395
vcs編譯和模擬命令 瀏覽:844
安卓系統的gpk文件怎麼安裝 瀏覽:39
如何與伺服器硬碟連接 瀏覽:370
紅警1開源編譯 瀏覽:42
程序員代碼情書 瀏覽:893
阿里雲的伺服器防禦 瀏覽:846
壓力太大吃什麼可以緩解壓力 瀏覽:635
我的世界手游版伺服器怎麼創地圖 瀏覽:845
伺服器被外包怎麼辦 瀏覽:303
python運維系統開發 瀏覽:281
雲平台伺服器的日常檢查 瀏覽:347
彈鋼琴的女程序員 瀏覽:65
追加重定向命令源碼 瀏覽:722
java旋轉90度 瀏覽:154
安卓上滑怎麼播放 瀏覽:363
航空貨運程序員待遇 瀏覽:33
推拉流源碼 瀏覽:740