16.2. Mapped Base Address for Shared Libraries in Red Hat Enterprise Linux 3, 4 and 5


In Red Hat Enterprise Linux 3, 4 or 5 the mapped base for shared libraries does not need to be lowered since this operation is now done automatically. To verify the mapped base (mapped_base) for shared libraries execute cat /proc/self/maps in a shell. The directory self in the proc file system always points to the current running process which in this example is the cat process:
# cat /etc/redhat-release
Red Hat Enterprise Linux AS release 3 (Taroon Update 6)
# cat /proc/self/maps
00a23000-00a38000 r-xp 00000000 08:09 14930   /lib/ld-2.3.2.so
00a38000-00a39000 rw-p 00015000 08:09 14930   /lib/ld-2.3.2.so
00b33000-00c66000 r-xp 00000000 08:09 69576   /lib/tls/libc-2.3.2.so
00c66000-00c69000 rw-p 00132000 08:09 69576   /lib/tls/libc-2.3.2.so
00c69000-00c6c000 rw-p 00000000 00:00 0
00ee5000-00ee6000 r-xp 00000000 08:09 32532   /etc/libcwait.so
00ee6000-00ee7000 rw-p 00000000 08:09 32532   /etc/libcwait.so
08048000-0804c000 r-xp 00000000 08:09 49318   /bin/cat
0804c000-0804d000 rw-p 00003000 08:09 49318   /bin/cat
099db000-099fc000 rw-p 00000000 00:00 0
b73e7000-b75e7000 r--p 00000000 08:02 313698  /usr/lib/locale/locale-archive
b75e7000-b75e8000 rw-p 00000000 00:00 0
bfff8000-c0000000 rw-p ffffc000 00:00 0
#

# cat /etc/redhat-release
Red Hat Enterprise Linux AS release 4 (Nahant Update 2)
# cat /proc/self/maps
00b68000-00b7d000 r-xp 00000000 03:45 1873128  /lib/ld-2.3.4.so
00b7d000-00b7e000 r--p 00015000 03:45 1873128  /lib/ld-2.3.4.so
00b7e000-00b7f000 rw-p 00016000 03:45 1873128  /lib/ld-2.3.4.so
00b81000-00ca5000 r-xp 00000000 03:45 1938273  /lib/tls/libc-2.3.4.so
00ca5000-00ca6000 r--p 00124000 03:45 1938273  /lib/tls/libc-2.3.4.so
00ca6000-00ca9000 rw-p 00125000 03:45 1938273  /lib/tls/libc-2.3.4.so
00ca9000-00cab000 rw-p 00ca9000 00:00 0
08048000-0804c000 r-xp 00000000 03:45 1531117  /bin/cat
0804c000-0804d000 rw-p 00003000 03:45 1531117  /bin/cat
08fa0000-08fc1000 rw-p 08fa0000 00:00 0
b7df9000-b7ff9000 r--p 00000000 03:45 68493    /usr/lib/locale/locale-archive
b7ff9000-b7ffa000 rw-p b7ff9000 00:00 0
bffa6000-c0000000 rw-p bffa6000 00:00 0
ffffe000-fffff000 ---p 00000000 00:00 0
#
The outputs show that the mapped base is already very low in Red Hat Enterprise Linux 3, 4 or 5. In the above example shared libraries start at 0xa38000 (decimal 10715136) in Red Hat Enterprise Linux 3 and 0xb68000 (decimal 11960320) in Red Hat Enterprise Linux 4 and 5. This is much lower than 0x40000000 (decimal 1073741824) in Red Hat Enterprise Linux 2.1:
# cat /etc/redhat-release
Red Hat Linux Advanced Server release 2.1AS (Pensacola)
# cat /proc/self/maps
08048000-0804c000 r-xp 00000000 08:08 44885      /bin/cat
0804c000-0804d000 rw-p 00003000 08:08 44885      /bin/cat
0804d000-0804f000 rwxp 00000000 00:00 0
40000000-40016000 r-xp 00000000 08:08 44751      /lib/ld-2.2.4.so
40016000-40017000 rw-p 00015000 08:08 44751      /lib/ld-2.2.4.so
40017000-40018000 rw-p 00000000 00:00 0
40022000-40155000 r-xp 00000000 08:08 47419      /lib/i686/libc-2.2.4.so
40155000-4015a000 rw-p 00132000 08:08 47419      /lib/i686/libc-2.2.4.so
4015a000-4015f000 rw-p 00000000 00:00 0
bffea000-bffee000 rwxp ffffd000 00:00 0
#
The above mappings show that the Mapped Base Address does not have to be lowered in Red Hat Enterprise Linux 3 or 4 to gain more SGA space.
Red Hat logoGithubRedditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

© 2024 Red Hat, Inc.