本帖最後由 q_p 於 2015-2-1 16:38 編輯
回覆 15# PMIII
你記唔記得自己講過d乜?
所以如果你有一些程式是不停讀某一個小過cache size內的file(還要那個file不變),那就會有一些比較大的分別
PMIII 發表於 31/1/2015 04:17 PM 
你這個url o米只是講緊windows對harddisk data的caching方法
和本身harddisk內的buffer/cache無關
PMIII 發表於 1/2/2015 02:19 PM 
絕對有關, 因爲你講嘅已經由OS cache左係Ram度.
亦係"data in the disk buffer is rarely reused"嘅原因.
所以page cache是os的事
cpu內的L1 L2 L3是cpu內裡自己的事
而harddisk的cache buffer亦是harddisk自己的事
而你就將三樣野混埋來講, 這樣不太正確.
PMIII 發表於 1/2/2015 02:16 PM 
對於"Page cache 是儲存在CPU cache, DRam及harddisk platter的", 你我之間有點誤會.
windows有個pagefile.sys檔案嚟暫存Ram嘅data(尤其當Ram唔夠位時), 所以我講嘅"harddisk platter"係指%SystemDrive%\pagefile.sys 呢個file儲係harddisk platter.
呢舊file成GB計, 仲要同Ram交換資料而更改, 頂多部分暫存於Disk Buffer嚟縮短I/O waiting,
所以我唔講佢儲係Disk Buffer度, 但不代表我否認 Disk Buffer嘅存在.
而對Page cache儲存在Ram一定無異議吧? 但一個運行中嘅程式嘅改動可能仲喺CPU cache度未寫出到Ram度. |