2

i'm thinking about converting my OS (ubuntu) to the 64 bit version to use the last bit of memory (4 gb)—ok, it's rather reinstalling …

will this work as expected or are there possible limits given by the mainboard/memory controller/some other component, so i cannot fully utilize my full ram? if so, are there benefits from upgrading anyway?

lshw outputs

*-pci
     description: Host bridge
     product: Mobile PM965/GM965/GL960 Memory Controller Hub
     vendor: Intel Corporation
     physical id: 100
     bus info: pci@0000:00:00.0
     version: 0c
     width: 32 bits
     clock: 33MHz

i'm concerned about width: 32 bits is that because my current kernel is only 32 bit, or because my hardware can't do more than 32 bit. (that'd suck …)

edit

i found the following on dell's website about my laptop:

Dual Channel DDR2 Shared Memory
Available DIMM Slots:
Two Memory slots offering up to 4GB

so what now? all answers to this question suggest there is no hardware limit. all answers wrong, or was my question misleading?

8
  • You might get better answers if you edit your question to include more specific information such as your motherboard model and CPU. May 8, 2010 at 19:40
  • It sounds like you already have 4GB of RAM, switching from 32bit to 64bit won't increase the amount of RAM available to the OS.
    – user1016
    May 9, 2010 at 0:43
  • @erik, why not? right now system monitor and other programs show 3.5 gig available memory. so i still miss half a gig. and it's not about ram alone, it's about addressable memory space for applications (ram + swap)
    – knittl
    May 9, 2010 at 7:52
  • 1
    @Eric: The upper 0.5GB (it's usually more like 0.25, but cases vary) is being used for memory mapped IO and things of the like. It cuts into your addressable memory. If he has a 64-bit processor then the IO will be mapped higher up, and the full 4GB will be available.
    – Chris S
    May 9, 2010 at 14:43
  • 1
    it's not only about ram, but about addressable memory space for a process
    – knittl
    May 14, 2010 at 20:35

5 Answers 5

1
+150

Yes, you should be able to upgrade and see all the RAM. You can easily confirm this by booting from an Ubuntu Linux 64-bit Live CD.

As others have mentioned, the specs you listed in your question are for the PCI bus, which is used by add-in cards and other onboard components.

Update: the 4 GB limit you're seeing in the laptop specs is a restriction of the motherboard, but it's not specifically a 32-bit limit and it's not related to the 32-bit PCI slot.

The specs for a motherboard chipset usually seem to be based on what is available for testing at the time of release. Later, when larger modules become available, you can sometimes apply a BIOS update in order to support higher-density memory (i.e., larger capacity memory modules). Unfortunately, these types of BIOS updates usually aren't available for laptops, so you probably would not be able to install two 4 GB DIMMs on your laptop.

2
  • restriction of the motherboard = hardware/physical limit. that was my question in the first place :D
    – knittl
    May 19, 2010 at 18:48
  • Sorry about the confusion--to clarify, the first part of my answer is regarding your original question ("Will I be able to use all 4 GB of my RAM if I install a 64-bit OS?"), and the updated part of my answer is in reference to your later note about the separate and somewhat unrelated 4 GB hardware limitation on your motherboard, which may prevent you from installing and using more than 4 GB of RAM.
    – rob
    May 19, 2010 at 19:23
5

It's because that PCI connection is only 32 bits wide. This has nothing to do with the bit-width of your processor or OS. It is possible to use 32-bit PCI slots with a 64-bit CPU/OS, and even use 64-bit PCI slots with a 32-bit CPU/OS. All that affects is the bandwidth of the PCI slot, nothing more.

EDIT:

There is still no OS- or CPU-bound (and certainly no PCI-bound) 4GB limit. If you only have 2 slots, and modules no larger than 2GB are supported, then that's just a plain old physical limit.

6
  • so when are only 2gb modules supported, and when are bigger modules supported?
    – knittl
    May 15, 2010 at 17:49
  • The first thing for them to be supported is for them to exist. DDR2 laptop RAM modules max out at 2GB. May 15, 2010 at 18:26
  • uhoh, that sounds sucky … so i'd have to have a ddr3 compatible motherboard to use more than 4 gb of ram with 2 slots?
    – knittl
    May 16, 2010 at 13:05
  • Yes, since DDR3 laptop modules do come in larger capacities. May 16, 2010 at 14:30
  • no, i mean, can i use ddr3 modules with my current hardware? in case i decide to upgrade when ram prices start to drop again.
    – knittl
    May 16, 2010 at 19:04
1

You can upgrade without an issue to 64 bits (minus flash - my experience is that current flash for linux 64 bits is badly broken).

You can also use your full memory with a 32 bit OS by using a pae kernel (that adds an indirection table to the memory access that allows the kernel to use all the memory you have available).

No, the 32 bit width of the PCI bus will not affect your system performance if you're using a 64 bit kernel.

0

The amount of memory your computer can address is always the lowest of what the memory modules, northbridge/motherboard layout, and OS each support. Normally the MB or OS limit what you can have. Old MBs only supported a gig or two. 32-bit OSes are limited to about 3.75GB, unless PAE is available and enabled, but that's an ugly hack.

New MBs and Processors commonly support 8 to 16GB of RAM; it's usually the OS that's limiting you. If you've got a 64-bit processor, check the MB documentation for the RAM limit.

4
  • 32-bit processors these days can handle 64GB. The trouble is finding a motherboard that can handle that. May 8, 2010 at 18:58
  • 1
    32-bit processors can not handle more than 4GB of RAM without PAE; and I've already stated that PAE is an ugly hack.
    – Chris S
    May 8, 2010 at 20:01
  • Yeah. Sorry, physical memory mapping is 4gb on 32 bit - simple fact tha you can not address more. PAE is "secondary memory" and must be supported by the application - and eve nthose that do that do not support it fully (i.e. for everything) in most cases. Ugly hack. Nothing more.
    – TomTom
    May 9, 2010 at 5:48
  • i've got a 64bit cpu (intel c2d), but i'm not sure about my memory controller
    – knittl
    May 14, 2010 at 20:36
0

It looks like you've got more than 3GiB available at the moment, so it's likely your hardware will support 4GiB, so you should be able to gain the memory by switching the 64-bit.

You can check by installing the PAE kernel, which should allow you to access all the memory - in an inefficient manner, but enough to check the hardware.

1
  • i have 4 gb right now, with 32 bit it's possible to access 3.5 gb (size: 3528MiB). testing with a PAE kernel might be a good idea. i'm still holding back that 64 bit upgrade
    – knittl
    May 14, 2010 at 21:01

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .