代码之家  ›  专栏  ›  技术社区  ›  Seibar

Ubuntu 32位最大地址空间

  •  4
  • Seibar  · 技术社区  · 16 年前

    杰夫之前也报道过这个 on his blog 就32位Vista而言。

    适用于32位Vista的32位4gb内存上限是否适用于32位Ubuntu?有没有32位操作系统创造性地解决了这个问题?

    6 回复  |  直到 16 年前
        1
  •  4
  •   dmityugov    16 年前

    Ubuntu服务器在内核中启用了PAE,桌面版本默认不启用此功能。

    顺便说一下,这解释了为什么Ubuntu服务器不能在一些硬件模拟器中工作,而桌面版却可以

        2
  •  3
  •   Kibbee    16 年前

    嗯,有窗户,有一种叫做 PAE ,这意味着您可以在windows计算机上访问高达64 GB的内存。缺点是大多数应用程序不支持实际使用超过4GB的RAM。只有一小部分应用程序(如SQL Server)被编程为真正利用所有额外内存。

        3
  •  3
  •   sphereinabox    16 年前

    是的,32位ubuntu有相同的内存限制。

    4GB限制也有例外,但它们是特定于应用程序的。。。与中一样,Microsoft Sql Server可以使用16GB,配置并支持“物理地址扩展”[PAE],并且。。。呃 http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=3703755&SiteID=17

    此外,ubuntu和windows中的驱动程序都通过将内存从4GB映射到设备来减少4GB地址空间的可用内存量。显卡在这方面尤其糟糕,你的256MB显卡占用了你至少256MB的地址空间。。。

    如果你能[你的驱动程序支持它,而且cpu足够新]安装一个64位操作系统。您的32位应用程序和游戏将运行良好。

        4
  •  2
  •   wvdschel    16 年前

    关于PAE似乎有些混乱。PAE是“页面地址扩展”,绝不是Windows的功能。这是英特尔在其奔腾II(及更新版本)芯片上的一个漏洞,它允许计算机访问64GB内存。在Windows上,应用程序需要明确地支持PAE,但是在开源世界中,可以根据您的喜好编译和优化包。可以在Ubuntu(和其他Linux发行版)上使用超过4GB内存的包是使用PAE支持编译的。这包括所有特定于服务器的软件。

        5
  •  2
  •   ColdFire    6 年前

    理论上,所有32位操作系统都有这个问题。你有32位地址。

    2^32 bits / 2^10 (bits per kb) / 2^10 (kb per mb) / 2^10 (mb per gb) = 2^2 = 4gb.
    

    尽管有很多办法。(查看从16位计算到32位计算的跳跃。他们碰到了同样的问题。)

        6
  •  0
  •   Alasdair    16 年前

    Linux支持一种叫做PAE的技术,它允许你使用超过4GB的内存,但是我不知道Ubuntu是否默认启用了它您可能需要编译一个新的内核。

    编辑:Ubuntu论坛上的一些线程建议服务器内核默认启用PAE,您可以尝试安装它。