哪些内存页面分配给 Linux RAM 磁盘中的文件
Posted
技术标签:
【中文标题】哪些内存页面分配给 Linux RAM 磁盘中的文件【英文标题】:Which memory pages are assiged to files in Linux RAM disk 【发布时间】:2014-07-21 17:34:12 【问题描述】:我正在尝试找到已分配回文件的确切机器内存页面,这些文件存储在 Linux RAM 磁盘中。例如,对于一个进程,有 /proc/pid/pagemap 可以准确地告诉您进程正在使用哪些机器页面。我正在为 RAM 磁盘寻找类似的东西。你知道内核模块或数据结构可能有分配给 RAM 磁盘的页面列表吗?
例如,如果我创建一个 1MB 大小的 RAM 磁盘(假设 4KB 页),这意味着应该有 256 个机器页分配给该 RAM 磁盘 (2^22/2^14=256)。
RAM 磁盘建立在 Linux 的页面缓存之上,因此似乎是一个不错的起点,但我不确定如何关联哪些页面缓存条目对应于 RAM 磁盘。
【问题讨论】:
你为什么在乎?内核可能会将页面从某个 RAM 移动到另一个 RAM! 【参考方案1】:我认为它不是 /proc/pid/pagemap 中显示给您的确切内存位置。 这些是虚拟内存映射(帧)。
pagemap 是内核中的一组新接口(从 2.6.25 开始),它允许 用户空间程序通过以下方式检查页表和相关信息 读取 /proc 中的文件。
更多信息关注
https://www.kernel.org/doc/Documentation/vm/pagemap.txt
【讨论】:
以上是关于哪些内存页面分配给 Linux RAM 磁盘中的文件的主要内容,如果未能解决你的问题,请参考以下文章