min free kbytes 的初始化

2021-09-05 11:17:35 字數 2066 閱讀 5991

當請求分配記憶體時,如果有足夠的記憶體,則分配成功。如果沒有,則要阻塞,釋放記憶體,再來分配記憶體。原子請求不能被阻塞,如果分配不到,則失敗。核心為了盡量避免原子請求失敗,預留了乙個頁池框,在記憶體不足時使用。這個頁池框的大小就是min_free_kbytes。

這段引自《深入理解linux核心(第三版)(中文版)》page302

在init_per_zone_wmark_min()

(\linux\mm\page_alloc.c) 中進行初始化,dump_stack

()的結果:

[0.053007

][init_per_zone_wmark_min 6792

] min_free_kbytes:

1024.

[0.053067][

](unwind_backtrace) from [

](show_stack+

0x10

/0x14)[

0.053083][

](show_stack) from [

](dump_stack+

0x84

/0x98)[

0.053100][

](dump_stack) from [

](init_per_zone_wmark_min+

0x2c

/0x13c)[

0.053127][

](init_per_zone_wmark_min) from [

](do_one_initcall+

0x54

/0x190)[

0.053153][

](do_one_initcall) from [

](kernel_init_freeable+

0x158

/0x1e4)[

0.053180][

](kernel_init_freeable) from [

](kernel_init+

0x8/

0x114)[

0.053203][

](kernel_init) from [

](ret_from_fork+

0x14

/0x2c)[

0.053222

][init_per_zone_wmark_min 6797

] nr_free_buffer_pages:

162930.

[0.053233

][init_per_zone_wmark_min 6798

] lowmem_kbytes:

651720.

[0.053245

][init_per_zone_wmark_min 6802

] new_min_free_kbytes:

3229.

[0.053256

][init_per_zone_wmark_min 6803

] user_min_free_kbytes:-1.

[0.053267

][init_per_zone_wmark_min 6808

] min_free_kbytes:

3229.

[0.053285

][init_per_zone_wmark_min 6822

] min_free_kbytes:

3229.

**流程就是:

kernel_init -- kernel_init_freeable -- do_one_initcall -- init_per_zone_wmark_min

int min_free_kbytes =

1024

;//初始值設為1024

int user_min_free_kbytes =-1

;int watermark_scale_factor =10;

int __meminit init_per_zone_wmark_min

(void

)else..

....

}

Springboot中的定時任務初初初初級

最近剛剛接觸sringboot中的定時任務寫了乙個最最最初階版的定時任務,作如下記錄 首先在啟動類中新增註解 enablescheduling然後就可以直接通過註解 scheduled編寫我們的定時任務了 service public class timeservice 其中,corn值代表每分鐘執...

MySQL初初初入門筆記 2020 6 25

寥寥幾筆 現在是累計什錦式學習mysql部分的第2天 現在把最前頭的記錄都一起傳上來,雖然現在寫的這一塊還是太簡單了,但畢竟配置環境什麼的還是花時間,於是寫一篇記錄一下粗略的學習過程 現在越學越感覺對於相關知識的學習是由 簡單,繁雜 到 深入,簡約 的乙個過程.所以還是有點耐心吧哈哈 資料庫db 資...

初初初級演算法

給定乙個字串,請你找出其中不含有重複字元的 最長子串 的長度。示例 1 輸入 abcabcbb 輸出 3 解釋 因為無重複字元的最長子串是 abc 所以其長度為 3。示例 2 輸入 bbbbb 輸出 1 解釋 因為無重複字元的最長子串是 b 所以其長度為 1。示例 3 輸入 pwwkew 輸出 3 ...