Skip title Accessibility statement: we seek to make the HPC web pages accessible to all users. If you encounter accessibility issues with HPC web pages please send a description of the problem by email to eric_sills@ncsu.edu - thank you.

High Performance and Grid Computing
   
Skip menu side bar
Home
About

OpNews

Help/Accounts

Staff

Partners

User Projects


Services

Hardware

Software

Grid

Monitor


HowTo/FAQ

Docs & Pubs

Courses

Other Resources

IA32 Linux Virtual Memory Map

The IA32 architecture provides a 32-bit virtual address space providing access to 4 gigabytes of virtual memory. Linux divides the available memory as 3 GB for user processes and 1 GB for the kernel. Within the user space the first gigabyte is shared by user program text and data and the upper two gigabytes are used by shared libraries and user stack.

Shared Libraries

It has been observed that executables linked with shared libraries begin to fail with segmentation faults as the size of the user data approaches one gigabyte. This observation is consistent with the expansion of user data space being stopped by the presence of shared library text beginning at virtual address 0x40000000 (1 gigabyte).

Static Libraries

Executables linked with static libraries (-static option for ifc compiler) are able to allocate storage for data approaching three gigabytes before beginning to fail with segmentation faults. It appears that linking with static libraries removes the shared library region from the virtual memory map and allows user data to continue to grow toward the user stack. Actual limit of data storage that can be allocated depends on the size of the program text (with static libraries) and the size of the program stack.

graphical representation of memory layout described in text
Last modified: May 14 2005 11:10:05.
Copyright © 2003-2007 by NC State University and others, All Rights Reserved.
HPC & Grid (Version 1.4 / Site access count: 754068) - Site/Content Notice

Site contact: Eric Sills, E-mail: eric_sills at ncsu dot edu , Tel: 919-513-0324, Fax: 919-513-1893, HPC and Grid Operations, Information Technology Division, Box 7109, North Carolina State University, Raleigh, NC27695-7914, USA