Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have a Core i7 laptop with 4gb ram. In windows, the disadvantage of using the 32bit OS would be that a single app could not use more than 2gb of ram (+ the 2gb shared kernel-space memory) except when setting a boot switch which reduces the amount of shared kernel memory, then it's 3GB max per app.

What disadvantages/limitations would I have in Ubuntu for sticking to the 32bit OS? (If any?) - As I only have 4GB of ram, I can't see why I need to use the 64bit version?

share|improve this question
1  
Don't forget to add the RAM from your videocard. –  ZippyV Nov 23 '10 at 14:42
    
FYI Adobe Flash is now available in 64 bit (called Square) labs.adobe.com/downloads/flashplayer10.html –  Mike Nov 23 '10 at 18:57
    
you can keep the 32bit version and install PAE, to utilize the other 1GB on you ubuntu machine. –  theTuxRacer Nov 24 '10 at 5:53

10 Answers 10

up vote 15 down vote accepted

If your concern is only about having access to 4GB of RAM, then go for the 32bit + PAE version of Ubuntu. It's the easiest way :-) But read further in order to understand limitations and advantages of each architecture.

I guess your hardware is pretty recent, so Ubuntu will just pick up the 4GB of memory even in 32bit as it's using a kernel feature called PAE (some release of Ubuntu have a separate kernel for that, check in Synaptic Package Manager for PAE). It's really stable and you won't regret it, especially for Flash which needs (if you install it the easy way from the repository) a 32bit stack. In my experience, a 64bit OS with Flash 32bit is unstable.

But they are a few limitations on the 32bit version, a process (a program) cannot access more than 2GB or sometimes 3GB of memory (depends on kernel and application own memory management such as Java Virtual Machine). This is obviously not a problem for most application. However, I've been using a few GPS tools to build maps. They sometimes (for big maps) need more than 2GB addressable memory. But it's really not common. In addition, 32bit+PAE can be incompatible with some proprietary drivers. They do work perfectly with open source ones, but some times the proprietary/binary drivers can not handle this architecture.

On the other side, you can go 64bit and with Ubuntu Software Centre you can be happy as you have access to a huge library of 64bit applications. However, if you want to use proprietary software on Linux, you need to hope that they support also 64bit. Products like: Adobe Flash, Adobe AIR, Google Talk Plugin, Skype, Amazon MP3 are 32bits only. Some do work if you install the 32bit stack on your 64bit system, but some won't (Amazon MP3) or badly (Adobe Flash). Another drawback of 64bit system is that they use more memory. So a same application will use more memory for doing the same thing in a 32bit environment. Sometimes it's a problem.

Conclusion is:

  1. 32bit is more compatible regarding application (especially proprietary ones like Skype or Flash). PAE does not have impact on applications usually.
  2. 32bit+PAE/64bit you might have problem on both platform with certain binary drivers (usually for WiFi)
  3. If you don't need an application that uses more than 2GB of RAM (create your own map for your GPS), then you don't need 64bit. This is the case for the vast majority of users in today computing.
  4. 64bit tend to use more memory for the same workload.
  5. Some users and benchmarks (see phoronix.com) report 64bit systems are slightly faster. But the margin is small enough that I don't feel the differences.
share|improve this answer
1  
Amazon MP3 downloader 1.05 runs here without problems on 64bit 10.04 installed with 32bit libs. –  Takkat Nov 23 '10 at 21:17
    
I went to verify it again (I've not using Amazon MP2 since 6 month at least), but no I can't install it: Error: Wrong architecture 'i386' (I'm installing v 1.0.9-1) –  Huygens Nov 23 '10 at 21:30
    
From Amazon web site it-self: "64-bit Linux distributions are currently not supported." this is sadly a too often seen message even in 2010 (for proprietary software) –  Huygens Nov 23 '10 at 21:33
1  
This is exactly the answer I was looking for thanks! Amazon MP3 works fine using lib32 on 64bit, and there is a plugin in Banshee for using the Amazon store anyways, but apart from that.. great answer! :D –  tommed Nov 24 '10 at 13:57
    
@tommed I'm happy to have helped you :) –  Huygens Nov 24 '10 at 20:13

I had an i7 and was transcoding video. I was using vlc. if i was running ubuntu 12.04 32 bit it resulted in 60% processor utilization. using 12.04 64bit it took 13% utilization. so some applications are drastically impacted.

share|improve this answer

I have a laptop with almost the same configuration as yours. But I decided to install Ubuntu 10.10 32 bits instead of 64 bits because I have some closed-source software dependence:

  • Adobe Flash plugin: recently Adobe started provide flash in 64 bits for Linux, but its still a problem, crashing every time. Several blogs around the Internet are posting how to workaround to get a flash plugin (32 bits version) to work on a 64 bits system. You may give it a try if you really intend to move to 64 bits.
  • Skype: while its possible to install and use skype 32 bits in a 64 bits system, you may suffer from problems related to the fact that two versions of the same library (ia32-libs, lib32asound2, libasound2-plugins, Qt and etc) will be installed in your laptop.
  • Mplayer with w32codecs: Mplayer works fine, but to use the W32codecs which include WMV9 support, you need to use a 32bit Mplayer with 32bit libraries. A guide how to do this is found in this thread.
  • Several others softwares like Rar, RealPlayer, Java, Opera, Wine, Matlab for Linux - can be a problem too, with different recipes to workaround just giving you more work to configure and use it.

My opinion is: stay in 32 bits!! You probably have a dependency on one of the software I listed above - and the amount of work provided by such a change does not compensate for the change.

About your 4GB of memory: don't worry! Ubuntu will install the right kernel (with PAE) by default. Thanks!

share|improve this answer
    
I didn't know Ubuntu would automatically chose the PAE kernel, nice! –  Stefano Palazzo Nov 23 '10 at 16:14
    
Skype and Flash work fine for me in 64 bit Ubuntu 10.10. I haven't tried, but you shouldn't have any trouble running a 32 bit Mplayer on 64 bit Linux. –  postfuturist Nov 23 '10 at 17:34
    
Opera and Java aren't a problem at all on 64bit. They have proper native 64bit implementations. And Java 32bit run like a charm on a 64bit OS. –  Huygens Nov 23 '10 at 20:25
    
I cannot run any Java plugin on web pages using amd64 :( –  Extender Nov 24 '10 at 4:36

There may well be some annoyances along the way. A few of the proprietary components of Ubuntu (like the Oracle Java runtime and Adobe Flash) might be a bit harder to install that you would expect.

There may also be problems with some obscure wireless drivers and the like - but this is the exception rather than the rule.

Other than that, Linux' great 32 bit compatibility layer ensures that your system will be pretty much rock solid and, often time, quite a bit better at computational task that benefit from the larger address size.

Ubuntu server is now recommended by canonical in its 64 bit form per default. There is, all in all, much trust in the 64 bit linux architecture. It is no longer experimental, it is no longer just an add on. And even though some of the applications haven't caught up (flash is the only one of them that matters, really), the Linux kernel is now considered a 64 bit system with a 32 bit compatibility layer, rather than the other way round.

In short: Do it, go 64 bit - it's running millions and millions of Linux servers today, and it's completely ready for your desktop.

As Huygens points out, 32 bit is the safe bet. If you can stand the potential annoyance of re-installing the 32 bit version, it makes sense to try 64 bit first, and test for common issues.

The 32 bit installer will of course automatically enable a PAE kernel if you have more ram then can be addressed in 32 bits, rendering the ram issue a thing of the past. This has been said many times here, but why not include it again :)

share|improve this answer
1  
Cannot agree with you more on this. Shame on adobe for such a slow development pace on their proprietary flash. Tells you the good thing about open source software. you are not at the mercy of some software giant to fix things up for you. –  tinhed Nov 23 '10 at 11:49
    
Yes, a lot of server are running a Linux 64bit kernel. But it does not imply it is ready for desktop. I've my main desktop as a 64bit platform, and I don't regret it, but I would not recommend it. Flash is an annoying buggy application when run with the 32bit layer, and though it exists for 64bit (and it's quite stable) the installation is not easy for Desktop users. Flash is not only the problem, Amazon MP3 Downloader is another one. And many proprietary products are out first in 32bit before sometimes releasing a 32 version. Thus, this could be frustrating... So 32bit is a safe bet! –  Huygens Nov 23 '10 at 20:41
1  
+1 for do it ... i've got a running x64 system here (10.10) –  sdu Nov 23 '10 at 21:17

I have the same components, (Dell studio 1557, i7 quad-core, 4GB RAM) an I go for 64bit as it is more natural. Linux has 64bit support for almost every application out there and even if there isn't one, 32bit application support is already built in Ubuntu.

So for a hardware that has 64bit CPU + 4GB Ram the natural OS is 64bit OS. Not that with 32bit you will have any problem. If you install Ubuntu 32bit, it will automatically install a PAE kernel which is compatible with >3GB of Ram.

For years I've been using every 64bit Ubuntu version that was released and never had a single problem.

So go for it... :)

share|improve this answer

You need to install it with a network connection so it can pick the PAE on install.

share|improve this answer

I find it quite amusing that the usage of 64bit is so closely bound to memory in the machine. 64bit means as well that per processor cycle you are able to process twice the amount of data comparing to a 32bit operating system.

Use 64bit in case you do

  • video editing and processing
  • sound editing and processing
  • graphic editing and processing
  • work with large files (e.g. databases, large log files, ...)

I am doing a podcast and using 64bit with my notebook saves a lot of time when doing audio processing (noise reduction, normalizing, compression, ...). My notebook only has 2 GB of RAM.

share|improve this answer
    
Yes and no. "Amount of data per second" is often largely constrained by the cache, memory and disk throughput and those won't(?) particularly improve; indeed they may get a bit worse because of larger data in 64-bit userspace. But you're quite right that apps can then use 64-bit instructions and they may help a lot. Here's an interesting though slightly old paper on this: lixom.net/~olof/64bit-perf.pdf –  poolie Nov 23 '10 at 21:10
    
Great point thanks! –  tommed Nov 24 '10 at 13:58
    
@poolie: Thanks for the linked PDF, but it is already 4 years old, which is quite a lot, when we speak about technology. But I agree the limiting factor is not the processor, even if we can achieve 50% more speed it is a lot. –  ddeimeke Nov 24 '10 at 14:40

Why install 32-bit OS for a 64bit CPU? Mind that you will almost always be able to install and run 32bit applications on a 64bit environment once you have added the 32bit libs. Running 64bit apps on a 32bit OS is impossible. Go for 64 bit.

share|improve this answer

It's also worth pointing out that although you only have 4GB of physical RAM, presumably you have swap so in reality have >4GB available. Only you know whether you run the type of applications that are likely to be affected by the 4GB/process limit. Think video/image processing or scientific applications (circuit simulation, matlab, that sort of thing) for examples.

Personally I'd go for it. Although you can run in 32-bit mode with these processors, our experience at work is that we get better performance when running the same processor in 64-bit. That's just our experience of course though.

share|improve this answer

First of all you would need the PAE kernel if you intend to use the 4gb of RAM with 32 bit OS. Otherwise you would end up with a portion of your memory not being utilised. And the 3gb limit per process would remain. So my suggestion would be to use the 64 bit.In any case if you plan to upgrade your system in future you would have to switch to 64bit. Java and Flash problems aside there is no reason to stick to 32 bit.

share|improve this answer
4  
PAE kernel is installed by default in 10.10 32bits version. –  crncosta Nov 23 '10 at 12:17
    
Why do you think that Java is a problem on 64bit platform? –  Huygens Nov 23 '10 at 20:42
    
Openjdk 64 bit is a huge memory hog. –  tinhed Nov 24 '10 at 14:48

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.