I'm building a new box , based on an Asus M2A-VM mobo (old , but I'm familiar with it , already have 2 in use) and a quad-core AMD Phenom processor . I'm planning on loading a 64 bit XP Pro alongside probably Ubuntu 16-04 . I'm wondering if the Ubuntu has the same limitation of 3Gb usable RAM that 32 bit versions of Windows has . Anybody know ?
No , it's a limitation of Windows XP 32 bit OS's - I'm not sure if this limitation applies to other versions of Windows . It will only recognize 3 Gb of RAM , the 64 bit version will recognize up to (I think) 8 Gb . The "new" motherboard came with 4 Gb installed , along with an Athlon X2 processor (speed unknown) which will be banked as a spare . My plan is to install that quad core and bump it to 8 Gb of RAM , see if I can get better performance than this desktop .
Are you installing a 32-bit Linux on a 64-bit processor? The Phenom should have the PAE flag:
formatting link
I run 32-bit at work because of the hassles of compiling our software on 64. It's not that big of a deal but otoh going to 64 bit doesn't buy me much. However I run 64 bit SuSE at home. Years ago 64 bit drivers for Linux could be problematic but that has changed.
No , the version of Ubuntu I just downloaded is a 64 bit version . I'm still undecided , I may just load W7/64 and see how that works . Seems to work pretty good on the wife's laptop .
| > It is a limitation of 32 bits, applies more or less equally to any OS. | | Thanks , I did download a 64 bit version of Ubuntu 16-04 LTS earlier just | in case .
More specifically, it's a limitation in addressing. Stored data in RAM is stored at a memory "address". Those addresses are critical and ubiquitous in system functions. To send or receive data from the system an address pointer is often required. A 32-bit OS uses a 32-bit "long" integer for those pointers. It's a 32-bit OS because a 32-bit/4byte integer is the common currency for data. So the limitation is simply that a number can't be specified beyond about 4 billion. There's no way to point to data stored in RAM at the 5 billionth byte.
Allowing for some sharing of RAM for graphics, that often works out to about 3.2 GB addressable RAM.
While it's true that 32 bit addressing thing is the root cause, it's not true that it's impossible to have more than 4GB of RAM because of it. All Intel CPUs since the Pentium II have supported more than 4GB of physical memory, it had a 36 bit address bus. The instruction set works with 32 bit addresses,
32 bit data, but the addresses get mapped by the MMU into a physical memory address space of 64GB. OS's that support virtual memory can take advantage of it, if the OS designers choose to do so.
That MB almost certainly supports more than 4GB, the documentation would make it clear. Sounds like Terry thinks it does. Now whether Linux supports 4GB+, IDK, because I don't know anything about Linux.
Yes , the motherboard will support up to 8Gb of RAM . I've got 2 other computers that use this motherboard , it does what I want to do . Will support up to 4 monitoer with an added card , 2 onboard outputs , one VGA and a DVI-D , 6 channel sound with jack sensing . I have dome to believe my complaints about slowness are due to web content that is more aimed at the newer multi-core processors . In that respect this board should do well enough with a quad core processor and more RAM - and a 64 bit OS .
As an experiment, did you try just doing a clean install of the OS? I'd bet that your abysmal performance is a result of what eventually seems to happen to all PCs, regardless of how many cores they have, which is that either stuff winds up getting installed, or parts of the OS somehow get corrupted, or something happens that we don't even understand, that severely impacts the performance. Every PC I've had, after several years, if I just put it back to the original factory software, there was a significant increase in performance. In fact, I bet half the boost in performance people think they are getting from a new PC they could have gotten by just re-installing the software on their old one. IDK what kind of web content really benefits from all those cores, call me skeptical.
Actually, I guess you will be able to easily do the experiment because you are doing clean installs, you're using the same MB and you intend to just replace the CPU with the faster one at the end, right? So, you should be able to do some testing to see how much improvement you get with a clean OS, how much more with the new CPU. I think you also had less than 4GB of RAM? That would be a factor too. I would think all your planned improvements would give a boost, but the fact that you seemed to have really terrible performance now leads me to believe that something is screwed in the software, more so than the CPU being the problem. If you take some time measurements of how long it takes to boot, how long it takes to pull up some common web pages, etc, before and after, it will be interesting if you post the results.
32-bit x86 Linux will also support more than 4GB of RAM, as long as you use a kernel with support for PAE mode. Not all distros are continuing to support 32-bit x86 though, many are concentrating on 64-bit x86_64 since that's what the majority of users will want.
| 32-bit x86 Linux will also support more than 4GB of RAM, as long as you use | a kernel with support for PAE mode. Not all distros are continuing to | support 32-bit x86 though, many are concentrating on 64-bit | x86_64 since that's what the majority of users will want. |
Interesting report here:
formatting link
Also this, explaining that PAE support was in XP, but conflicted with some drivers:
formatting link
It's not enough for the OS to support it.
It seems a more relevant question is what people need the RAM for. I usually work on XP-32 and have no problems with RAM. Someone editing video, on the other hand, might see a very big difference with a 64-bit system and lots of RAM. The point being that 64-bit capacity is still mainly preparation for the future and not needed for most software usage today. Given that, PAE seems like a dubious hack, especially given that Terry Coombs is only trying to improve web browser behavior, which likely has little, if anything, to do with his hardware.
The problem with any 32-bit processor is that there is only four gigabytes of virtual address space available to a single program. That doesn't preclude a 32-bit system from supporting up to 64GB of DRAM (with a single task still limited to 3GB) using PAE (physical address extension).
Because segmentation has been found to not perform as well as paging-based virtual memory, the virtual address space is shared between the kernel (operating system) and an application. The split is either at 2G user/2G kernel or 3G user/1G kernel. This split allows faster context switches and efficient access by the kernel to user data (e.g. when reading/writing files, or passing data to/from the kernel).
32-bit X86 linux can be configured to split at 2G or 3G, depending on the kernel configuration parameters when the kernel is built.
Some 32-bit operating systems (e.g. unixware), provided a "windowing" mechanism that allowed an application to swap portions of the address space with a system call in order to access larger amounts of virtual memory.
However, with all modern processors supporting 64-bit virtual address spaces, those techniques have fallen out of favor.
HomeOwnersHub website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.