[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: perspectives on 32 bit vs 64 bit



On Fri, Sep 30, 2005 at 03:19:33PM -0400, Faheem Mitha wrote:
> I have an Opteron server, on which I am running the AMD64 Debian port. For 
> various reasons, I'm contemplating going back to 32 bit.
> 
> The major reason is that aside from the packages in the AMD64 Debian 
> archive, it is not always easy to find Debian packages for AMD64, since 
> i386 is still very much the default. Also, not all software compiles with 
> AMD64.

Well personally I run i386 on an athlon 64 server, since it is mainly
used for building software for an i386 based system.  I run a few things
in a 64bit chroot when I think there is a need.  The kernel I run is
64bit enabled of course.

> I am aware that 64 bit computing has considerable advantages as well.
> 
> I'm looking for perspectives from people who have experience with both, 
> and what their feelings about this are.
> 
> Specifically, I was looking for clarifications about memory issues. I have 
> looked at stuff on the web, but am still confused.

A 64bit application has 64bit memory pointers, so it can address much
more than 4GB of memory.  A 32bit program has 32bit pointers so it can
address 4GB less whatever the kernel reserves of that memory space.

64bit mode is generally faster (at least on amd's implementation, intel's
seems act a bit differently in some cases).  Some calculations are
faster, and some operations are faster.  Floating point is done with sse
and hence registers, rather than x87 and the stack the way 32bit mode
does by default.  Anything that gets rid of x87 is an improvement. :)

> What is the 4 Gig limit for 32 bit processors that people talk about? Does 
> this mean that each process/thread can only get a limit of 4 Gig? Is there 
> any workaround for this?

Well given a 32bit program only has 32bit pointers, there isn't any
clean simple way to gain more memory.  I believe right now applications
can have up to 2GB, although some kernel patches/settings allow up to 3
or 3.5GB/application by shrinking the kernel's piece.

> What are the other limits? I read elsewhere that a 32 bit Linux system has 
> an effective limit of 16 Gig usable memory total.

No 64GB max is the limit on inte's memory extensions on i386.  If linux
limits it to less than that, I am not aware of it.  Of course I have
never had a machine with that much memory either.

> Thoughts appreciated. Please cc me; I'm not subscribed, though I will be 
> checking via Gmane occasionally. Thanks.

If you have no applications that need more than 2GB memory for
themselves, and you aren't using lots of floating point (although you
can compile for sse on 32bit too for that matter), then there is nothing
wrong with sticking with 32bit for now until you think everything you
want is available for 64bit.

And if yu have 1 or 2 programs that could use 64bit, use 64bit versions
of those as long as you run the 64bit kernel on your 32bit system.
Works for me.

Len Sorensen



Reply to: