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

Re: Memory



Eicke <eick.jac@terra.com.br> writes:
> I have a machine with 6Gb of memory. I installed the last version of Debian
> and linux kernel 2.4.21.
> I am trying to run the cap3 (ELF 32-bit LSB executable, Intel 80386, version
> 1 (SYSV), dynamically linked (uses shared libs), not stripped), but the
> following error occurs:
> Ran out of memory: -874931512 bytes requested
> I monitored and when the software reach 1.9 Gb the error occours.
> Then I test another application all_align.pl (perl script text executable),
> and when the script reach 3.0 Gb the following error occours:
> out of memory
>
> In the first case I think is a software problem but in the second I guess
> there is something in Operating System or Kernel configuration. I ran as
> root and as common user in both cases.

In general you're not going to be able to allocate more than 2GB of
RAM on a 32-bit system like the Pentium. While Intel played some
tricks with the hardware and actually implemented a 36-bit address bus
(I think it's 36 bits anyway), applications generally use 32-bit
pointers on a 32-bit CPU and they're assumed to be signed so that
limits you to 2^31 bytes of memory, or 2048MB (2GB). What the 6GB of
RAM buys you is that you could run 3 separate processes each using 2GB
of RAM and never hit your swap space, but a single application can't
use more than 2GB at a time, in general.

There may be low-level things in the kernel that would allow you to
use more than 2GB of RAM, but I'm not familiar with them and it
certainly wouldn't be portable.

If you need an application to have access to more than 2GB of RAM then
you need to get a 64-bit system like an Alpha, Sparc or Itanium.

Gary



Reply to: