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

linux – 为什么运行中的物理地址是相同的?,第1张

概述我正在运行一个带有某个数组变量的程序.我正在使用 Linux系统(ubuntu)支持的/ proc / self / pagemap文件将此阵列的虚拟地址(VA)转换为物理地址(PA).我尝试通过多次运行相同的程序来观察VA-PA映射(连续运行之间的时间间隔).我观察到的是PA在所有运行中保持不变. 如果VA保持不变是合理的,但为什么PA也保持不变. PA取决于 *** 作系统维护的RAM中可用的空闲页面 我正在运行一个带有某个数组变量的程序.我正在使用 @L_403_0@系统(ubuntu)支持的/ proc / self / pagemap文件将此阵列的虚拟地址(VA)转换为物理地址(PA).我尝试通过多次运行相同的程序来观察VA-PA映射(连续运行之间的时间间隔).我观察到的是PA在所有运行中保持不变.

如果VA保持不变是合理的,但为什么PA也保持不变. PA取决于 *** 作系统维护的RAM中可用的空闲页面.它必须在那一刻改变系统负载.考虑到所有这些,我期待PA变化,但是,我观察到的相反.

我缺少什么概念来回答这个问题的OS / Architecture?

解决方法

“with a gap in time”

*** 作系统希望应用程序想要重新启动 – 所以如果内存不是很短,那么内存将是“空闲的”,它也会缓存二进制文件,以防它再次运行. windows任务管理器报告相当不错.

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

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

总结

以上是内存溢出为你收集整理的linux – 为什么运行中的物理地址是相同的?全部内容,希望文章能够帮你解决linux – 为什么运行中的物理地址是相同的?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1018265.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存