0
當內存頻繁訪問時,它被放到CPU高速緩存(L1,L2,L3)上。然而,mmap與生活在/ dev/shm中的文件的內存是否一樣?我問,因爲我想知道是否將它備份到/ dev/shm中的文件將繞過CPU的任何緩存,而讓它通過緩存未命中。/dev/shm中的內存可以緩存在CPU緩存中嗎?
當內存頻繁訪問時,它被放到CPU高速緩存(L1,L2,L3)上。然而,mmap與生活在/ dev/shm中的文件的內存是否一樣?我問,因爲我想知道是否將它備份到/ dev/shm中的文件將繞過CPU的任何緩存,而讓它通過緩存未命中。/dev/shm中的內存可以緩存在CPU緩存中嗎?
是的,它們會被緩存在覈心的L1/L2/L3緩存中,除非例如頁面被標記爲未緩存(例如通過相應地配置PAT)或通過流式讀取/寫入訪問數據。
使用流式讀取/寫入不會將頁面標記爲不可緩存,它只是以這種方式處理這些行。 – Leeor
感謝@Leeor指出。你是對的,我的原始答案是不準確的。我已經更新了它。 – someneat