Redis:RDB 中 fork 的使用


Redis 的 RDB 后台 save ( BGsave ) 是使用了無參的 fork 的,所以會拷貝當前進程,也就是父進程的目錄表和頁面表

並且使用 COW 。值得注意的是 fork 之后,並沒有調用 exec,所以子進程不需要另立門戶,設置自己的新的,空的目錄表和頁面表。

而是用和父進程用有相同內容的(注意不是同一份)。於是,如果父進程在子進程執行BGsave的過程中,使用了寫操作的話,寫某個頁的話,會使得操作系統分配新的

物理頁給父進程。比如執行了 rehash。

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM