gpt4 book ai didi

linux - 为什么物理地址在运行中是相同的?

转载 作者:IT王子 更新时间:2023-10-29 01:25:50 25 4
gpt4 key购买 nike

我正在运行一个带有特定数组变量的程序。我正在使用 Linux 系统 (ubuntu) 支持的/proc/self/pagemap 文件将该数组的虚拟地址 (VA) 转换为物理地址 (PA)。我试图通过多次运行相同的程序来观察 VA-PA 映射(连续运行之间有时间间隔)。我观察到的是 PA 在所有运行中保持不变。

如果VA保持不变是合理的,但为什么PA也保持不变。? PA 取决于操作系统维护的 RAM 中可用的空闲页面。它必须根据当时的系统负载而变化。考虑到这一切,我预计 PA 会发生变化,但我观察到的恰恰相反。

回答这个问题的操作系统/架构我缺少什么概念?

最佳答案

"with a gap in time"

操作系统期望应用程序想要重新启动 - 所以如果内存没有运行不足,虽然内存将“空闲”,但它也会缓存二进制文件以防它再次运行。 Windows 任务管理器对此报告相当好。

光靠时间不足以释放这个缓存,启动几个其他应用程序也可能不够;您需要启动一些独特的进程(或者只是一个使用大量内存的进程)来清除缓存。

或者,正如 acornagl 所指出的,可以按照发布的说明手动清除缓存 here

关于linux - 为什么物理地址在运行中是相同的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40175544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com