kernel做了哪些嘗試去 避免記憶體碎片化

2021-10-09 05:56:46 字數 387 閱讀 5834

linux記憶體管理 以page為 單位進行管理,在系統長時間執行之後,造成有大量離散不連續的頁面存在,這就是記憶體碎片化。

1. 使用了 buddy 夥伴系統來管理物理記憶體

2. 給每個頁面定義了 movalbe屬性,在記憶體碎片化壓力比較大的時候可以 做記憶體規整

movable 記憶體頁面可以移動,

reclaimable 記憶體頁面可以直接進行**

3.

記憶體遷移 一開始是為了 numa 系統中 task 可以完全遷移到 另乙個 numa 節點中去,後來

也被 大量的應用於 記憶體熱插拔 和 記憶體規整上

可以參考:

記憶體遷移

記憶體規整

ksm

建立物件做了哪些事

class student class studentdemo 問執行類的初始化過程 student s new student 時,在記憶體做了哪些事情?1 把student.class檔案載入到記憶體 2 在棧記憶體為s變數開闢空間 3 在堆記憶體為學生物件申請空間 4 給學生的成員變數進行預設...

nginx啟動期做了哪些事

nginx是個多程序web容器,不同的配置下它的啟動方式也是不同的,這裡我只說說最典型的啟動方式。它有1個master程序,和多個worker程序 最優配置的數量與cpu核數相關 那麼,首先我們要找到main函式,它在src core nginx.c檔案中。談到原始碼了,這時我們先簡單看下原始碼的目...

不要嘗試去鋸木屑

有些事情,錯過就錯過了,不要回頭,不要後悔。沒有人總是回頭看走過的路。有乙個例子,乙個人問法師 我總是為過去的事情擔心。法師道 那你走進來的時候會想剛才每一步怎麼走的嗎?不會。所以不要考慮以前的事情。做好以後的事情即可。如果木頭鋸壞了,再鋸只能越來越糟糕。鋸壞的木頭,再去鋸掉下的碎屑,沒有任何意義。...