4

Jeff covered this a while back on his blog in terms of 32 bit Vista.

Does the same 32 bit 4 GB memory cap that applies in 32 bit Vista apply to 32 bit Ubuntu? Are there any 32 bit operating systems that have creatively solved this problem?

4

6 回答 6

4

Ubuntu服务器在内核中开启了PAE,桌面版默认没有开启这个功能。

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

于 2008-09-09T08:28:41.870 回答
3

Yes, 32 bit ubuntu has the same memory limitations.

There are exceptions to the 4GB limitation, but they are application specific... As in, Microsoft Sql Server can use 16 gigabytes with "Physical address Extensions" [PAE] configured and supported and... ugh http://forums.microsoft.com/TechNet/ShowPost.aspx?PostID=3703755&SiteID=17

Also drivers in ubuntu and windows both reduce the amount of memory available from the 4GB address space by mapping memory from that 4GB to devices. Graphics cards are particularly bad at this, your 256MB graphics card is using up at least 256MB of your address space...

If you can [your drivers support it, and cpu is new enough] install a 64 bit os. Your 32 bit applications and games will run fine.

于 2008-09-09T01:58:07.237 回答
3

Well, with windows, there's something called PAE, which means you can access up to 64 GB of memory on a windows machine. The downside is that most apps don't support actually using more than 4 GB of RAM. Only a small number of apps, like SQL Server are programmed to actually take advantage of all the extra memory.

于 2008-09-09T02:01:08.790 回答
2

In theory, all 32-bit OSes have that problem. You have 32 bits to do addressing.

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

Although there are some ways around it. (Look up the jump from 16-bit computing to 32-bit computing. They hit the same problem.)

于 2008-09-09T01:56:55.900 回答
2

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

于 2008-09-09T08:46:20.890 回答
0

Linux supports a technology called PAE that lets you use more than 4GB of memory, however I don't know whether Ubuntu has it on by default. You may need to compile a new kernel.

Edit: Some threads on the Ubuntu forums suggest that the server kernel has PAE on by default, you could try installing that.

于 2008-09-09T01:58:01.030 回答