The address-space limit is system-specific: 32-bit OSes
imposes a limit of no more than 4Gb: it is often 3Gb. Running
32-bit executables on a 64-bit OS will have similar limits: 64-bit
executables will have an essentially infinite system-specific limit
(e.g., 128Tb for Linux on x86_64 cpus). See the OS/shell's help on commands such as limit
or
ulimit
for how to impose limitations on the resources available
to a single process. For example a bash
user could use
ulimit -t 600 -v 4000000
whereas a csh
user might use
limit cputime 10m
limit vmemoryuse 4096m
to limit a process to 10 minutes of CPU time and (around) 4Gb of
virtual memory. (There are other options to set the RAM in use, but they
are not generally honoured.)