Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如何在32位支持PAE的Linux应用程序中使用3 GB以上的进程?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

PAE( Physical Address Extension)于1994年在CPU中引入.这允许32位处理器访问64 GB内存而不是4 GB.从2.3.23开始,Linux内核为此提供支持.假设我正在启动其中一个内核,并希望在C中编写一个可以访问超过3 GB内存的应用程序(为什么3 GB? See this). 我如何访问超过3 GB的内存?当然,我可以分叉多个过程;每个人都可以访问3 GB,并
PAE( Physical Address Extension)于1994年在cpu中引入.这允许32位处理器访问64 GB内存而不是4 GB.从2.3.23开始,Linux内核为此提供支持.假设我正在启动其中一个内核,并希望在C中编写一个可以访问超过3 GB内存的应用程序(为什么3 GB? See this).

我如何访问超过3 GB的内存?当然,我可以分叉多个过程;每个人都可以访问3 GB,并可以相互通信.但对于大多数用例而言,这不是一个现实的解决方案.还有哪些其他选择?

显然,在大多数情况下,最好的解决方案是简单地以64位模式启动,但我的问题是严格关于如何在启用PAE的32位内核上运行的应用程序中使用4 GB以上的物理内存.

解决方法

你没有直接 – 只要你在32位上运行,每个进程都将受到内核构建的VM拆分(2GB,3GB,或者如果你有4GB的补丁内核) / 4GB分割,4GB).

让进程使用更多数据并将其保留在RAM中的最简单方法之一是创建shmfs,然后将数据放在fs上的文件中,使用普通的seek / read / write原语访问它们,或映射它们使用mmap一次一个地进入内存(这基本上相当于做自己的分页).但无论你做什么,它都需要比使用前3GB更多的工作.

大佬总结

以上是大佬教程为你收集整理的如何在32位支持PAE的Linux应用程序中使用3 GB以上的进程?全部内容,希望文章能够帮你解决如何在32位支持PAE的Linux应用程序中使用3 GB以上的进程?所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。