Hi Keith, 

Excellent subject!  See my inline comments below:

On Fri, May 31, 2013 at 9:28 AM, keith smith <klsmith2020@yahoo.com> wrote:

Hi,

Even though I have 64bit hardware I always install the 32bit version of Linux.  I do so because of the past discussions on this list that made me believe the 32bit OS was better because 64bit caching is actually slower due to the requirement that the cache be filled to a certain point before it is moved.  I think I recall something about the amount of RAM having some effect here also.

The full questions of whether to use 64 bit OS verses 32 bit are included below.  For instance with a Python based application, CPU performance gains (possible 10%) verses greater memory requirements (30%)  (in 64bit OS).

It is really going to depend on what the server is doing?   Is that application actually optimized for 64 bit registers?  

Reference:  http://askubuntu.com/questions/7034/what-is-the-difference-between-32-bit-and-64-bit-and-which-should-i-choose

If you are running a database application, with more than 4 GB RAM, you might find great speed improvement with memcached under 64bit.  

From a technical perspective, a 64-bit OS gives you:

  • Allows individual processes to address more than 4 GB of RAM each (in practice, most but not all 32-bit OSes also limit the total usable system RAM to less than 4 GB, not just the per-application maximum). While a PAE kernel also does this; it is significantly slower!

  • All pointers take 8 bytes instead of 4 bytes. The effect on RAM usage is minimal (because you're not likely to have an application filled with gigabytes of pointers), but in the worst theoretical case, this can make the CPU cache be able to hold 1/2 as many pointers (making it be effectively 1/2 the size). For most applications, this is not a huge deall.

  • There are many more general-purpose CPU registers in 64-bit mode. Registers are the fastest memory in your entire system. There are only 8 in 32-bit mode and 16 general purpose registers in 64-bit mode. In scientific computing applications I've written, I've seen up to a 30% performance boost by recompiling in 64-bit mode (my application could really use the extra registers).

  • Most 32-bit OSes really only let individual applications use 2 GB of RAM, even if you have 4 GB installed. This is because the other 2 GB of address space is reserved for sharing data between applications, with the OS, and for communicating with drivers. Windows and Linux will let you adjust this tradeoff to be 3 GB for applications and 1 GB shared, but this can cause problems for some applications that don't expect the change. I'm also guessing it might cripple a graphics card that has 1 GB of RAM (but I'm not sure). A 64-bit OS can give individual 32-bit applications closer to the full 4 GB to play with.

From a user's perspective:

  • Application speed is usually faster for a 64-bit application in a 64-bit OS compared to the 32-bit version of the application on a 32-bit OS, but most users won't see this speed-up. Most applications for normal users don't really take advantage of the extra registers or the benefits are balanced out by bigger pointers filling up the cache.

  • If you have any memory hog applications (like photo editors, video processing, scientific computing, etc.), if you have (or can buy) more than 3 GB of RAM, and you can get a 64-bit version of the application, the choice is easy: use the 64-bit OS.

  • Some hardware doesn't have 64-bit drivers. Check your motherboard, all plug-in cards, and all USB devices before making the switch. Note that in the early days of Windows Vista, there were lots of problems with drivers. These days things are generally better.  nVidia for instance is one of the drivers optimized for 64bit which is extremely faster.

  • If you run so many applications at a time that you're running out of RAM (usually you can tell this because your computer starts getting really slow and you hear the hard disk drive crunching - indicating your caching), then you'll want a 64-bit OS (and sufficient RAM).

  • You can run 32-bit applications (but not drivers) in 64-bit land with no problems. The worst slowdown I've measured for a 32-bit application in 64-bit Windows is about 5% (meaning that if it took 60 seconds to do something in 32-bit, it took at most 60/0.95 = 63 seconds with the same 32-bit application in 64-bit).


    All in all, personally, Keith, I would install 64bit CentOs 6 unless you have a better reason not to?



Using a 32bit version over a 64bit version seems counter intuitive, however that is what I have taken away from these conversations about 32bit vs 64bit Linux.

I'm using CentOS 6.x on a LAMP server that gets a low amount of traffic.   However I may make the jump to Linux on my desktop this summer. (this will be my 3rd attempt to become M$ free except one VM so I can use IE for testing) I think all of my hardware is 64bit.  

So that begs the question, is 32bit better than 64bit or do I not understand the issue?

The issue is complex, but now in this new moment of time, a greater number of drivers are optimized for 64 bit registers.
 

Thank you for your feedback.

Keith

------------------------
Keith Smith

---------------------------------------------------
PLUG-discuss mailing list - PLUG-discuss@lists.phxlinux.org
To subscribe, unsubscribe, or to change your mail settings:
http://lists.phxlinux.org/mailman/listinfo/plug-discuss



--

(503) 754-4452 Android
(623) 239-3392 Skype
(623) 688-3392 Google Voice
**
it-clowns.com
Chief Clown