[問題] 有可能降低 Page Fault rate 嗎?

看板C_and_CPP (C/C++)作者 (象象共和國國王)時間16年前 (2010/01/06 13:25), 編輯推噓2(204)
留言6則, 4人參與, 最新討論串1/2 (看更多)
沒想到會來這邊問問題, 不過在網路上通常遇到的回答都是: 不要理它 只好來求助板上的大家了 我知道 page fault 是有虛擬記憶體 OS 一定會有的情況 但是每次造成 hardware page fault 的 penalty 實在太高了 舉個數據來說, 每秒最高造成的 page faults 高達兩萬五千多次 自己程式這邊的感覺就是很明顯一秒鐘的超大停頓 但問題是我們程式的 Frame rate 至少要在 20 (完全就是爆炸) 目前在我想法中的解決方案有 1. 減少記憶體的使用 2. 將未來可能用到的記憶體內容複製至固定的記憶體區塊 第二點的目的是希望在使用資料之前先 trigger page fault 機制 分散 page fault 發生的時機 不知道有沒有效果? = =" 另外我們主管建議我們直接 allocate 一整塊大記憶體 e.g. 1GB 自己分配, 就可以減少 page fault 的發生, 這有用嗎? 不知道有沒有人曾經遇過相同問題的可以來討論討論 @@ -- 我是大象 永遠的大象... 象象共和國國王 . Hudson -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.124.99.126

01/06 14:16, , 1F
可以問一下是跑什麼程式嗎?page fault那麼多!
01/06 14:16, 1F

01/06 14:17, , 2F
而且要減少page fault不是應該要一開始就分配大量記憶體?
01/06 14:17, 2F

01/06 14:42, , 3F
或許可以考慮增加實體記憶體?
01/06 14:42, 3F

01/06 17:09, , 4F
所以一開始分配大量記憶體有用囉? 原理是啥啊 @@?
01/06 17:09, 4F

01/06 17:09, , 5F
實體記憶體增加是真的有幫助可是我們不能幫目的電腦加 QQ
01/06 17:09, 5F

01/06 22:48, , 6F
應該是一個locked mem block
01/06 22:48, 6F
文章代碼(AID): #1BH1wlh4 (C_and_CPP)
文章代碼(AID): #1BH1wlh4 (C_and_CPP)