【问题标题】:Page cache vs L1 cache?页面缓存与 L1 缓存?
【发布时间】:2021-09-30 03:35:14
【问题描述】:

我正在阅读:https://en.wikipedia.org/wiki/Page_cache

在计算中,页缓存,有时也称为磁盘缓存,[1] 是 来自辅助存储的页面的透明缓存 硬盘驱动器 (HDD) 或固态驱动器 (SSD) 等设备。 操作系统在其他未使用的部分保留页面缓存 主存储器 (RAM),从而更快地访问内容 缓存页面和整体性能改进。

是否有类似的技术可以将频繁访问的 RAM 部分保存在 L1、L2 和 L3 缓存中以提高性能?

我不知道那里保存了什么样的信息,什么缓存?

【问题讨论】:

    标签: linux caching memory memory-management operating-system


    【解决方案1】:

    是的,它们被称为硬件/CPU 缓存。它们存储“高速缓存行”,通常为 64 字节,是从 RAM 中提取并存储以供 CPU 更近/更快访问的内存片段。这通常在幕后进行,因为它是在硬件中处理的,因此您通常无法修改它,操作系统也无法直接访问其内容。但是,您可以使用 flush_cache_ family of 函数刷新内容。

    页面缓存的目的是相似的:通过存储可能很快使用的内存来加速未来的访问。它通常处理大小为 4KB 的内存页面,并将内存从磁盘加载到 RAM 中。它是操作系统级别的缓存。 Linux 内核完全控制页面缓存的工作方式,您可以在源代码中自行修改。如果您想了解更多关于存储在页面缓存中的内容,请查看this discussion

    【讨论】:

      【解决方案2】:

      页面缓存是指从磁盘保存内容的 RAM,因为我们知道磁盘比 RAM 访问慢几倍。这种内容管理完全在软件中完成,操作系统决定在页面缓存中保留哪些内容以及保留多长时间。

      另一方面,L1/L2/L3 缓存与处理器内存相关,与 RAM 访问相比,处理器内存可将内容从 RAM 中保存,以便更快地访问。

      文章详细讨论了页面缓存 https://manybutfinite.com/post/page-cache-the-affair-between-memory-and-files/

      【讨论】:

        猜你喜欢
        • 2017-08-12
        • 2015-08-05
        • 1970-01-01
        • 2010-10-27
        • 2015-02-07
        • 1970-01-01
        • 2012-07-02
        • 2011-04-11
        • 1970-01-01
        相关资源
        最近更新 更多