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.