Ubuntu 32位最大地址空间
Jeff在他的博客上使用32位Vista进行了介绍。
适用于32位Vista的32位4 GB内存上限是否适用于32位Ubuntu?是否有任何32位操作系统可以创造性地解决此问题?
解决方案
回答
从理论上讲,所有32位OS都存在该问题。我们需要32位来进行寻址。
2^32 bits / 2^10 (bits per kb) / 2^10 (kb per mb) / 2^10 (mb per gb) = 2^2 = 4gb.
尽管有一些解决方法。 (查找从16位计算到32位计算的跳跃。它们遇到相同的问题。)
回答
Linux支持一种称为PAE的技术,该技术可以让我们使用超过4GB的内存,但是我不知道Ubuntu是否默认启用它。我们可能需要编译一个新内核。
编辑:Ubuntu论坛上的一些线程建议服务器内核默认情况下已启用PAE,我们可以尝试安装它。
回答
是的,32位ubuntu具有相同的内存限制。
4GB限制有一些例外,但是它们是特定于应用程序的。例如,Microsoft Sql Server可以使用配置和支持"物理地址扩展" [PAE]的16 GB数据,并... ugh
http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=3703755&SiteID=17
此外,ubuntu和Windows中的驱动程序都通过将4GB内存映射到设备来减少4GB地址空间中的可用内存量。显卡在这方面尤其糟糕,256MB显卡至少占用了256MB的地址空间...
如果可以[驱动程序支持它,并且cpu足够新了],请安装64位操作系统。32位应用程序和游戏可以正常运行。
回答
好的,对于Windows,有一个称为PAE的东西,这意味着我们可以在Windows计算机上访问多达64 GB的内存。不利的一面是,大多数应用实际上不支持使用超过4 GB的RAM。只有少数应用程序(例如SQL Server)被编程为实际利用所有额外的内存。
回答
Ubuntu服务器在内核中启用了PAE,而台式机版本默认未启用此功能。
顺便说一下,这解释了为什么Ubuntu服务器不能在某些硬件仿真器中工作而台式机版本可以的情况
回答
PAE似乎有些混乱。 PAE是"页面地址扩展名",绝不是Windows功能。英特尔采用他们的Pentium II(和更新的)芯片来允许计算机访问64GB内存,这是一个黑客。在Windows上,应用程序需要显式支持PAE,但是在开源世界中,可以根据自己的喜好对软件包进行编译和优化。可以在Ubuntu(和其他Linux发行版)上使用超过4GB内存的软件包已通过PAE支持进行编译。这包括所有特定于服务器的软件。