Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

14.8. Huge Pages and Shared Memory File System in Red Hat Enterprise Linux 3

The following example shows that the Huge Pages pool is not being used by the ramfs shared memory file systems. The ramfs shared memory file systems can be used for Configuring Very Large Memory (VLM).
The ipcs command shows only System V shared memory segments. It does not display shared memory of a shared memory file systems. The following command shows System V shared memory segments on a node running a database with an SGA of 2.6 GB:
# ipcs -m

------ Shared Memory Segments -------- 
key        shmid      owner      perms          bytes      nattch     status 
0x98ab8248 1081344    oracle       600       77594624           0 
0xe2e331e4 1245185    oracle       600     2736783360           0
The first shared memory segment of 74 MB was created by the ASM instance. The second shared memory segment of 2.6 GB was created by the database instance.
On this database system the size of the database buffer cache is 2 GB:
db_block_buffers = 262144 
db_block_size    = 8192
The following command shows that Oracle allocated a shared memory file of 2GB (262144*8192=2147483648) for the buffer cache on the ramfs shared memory file system:
# mount | grep ramfs
ramfs on /dev/shm type ramfs (rw) 
# ls -al /dev/shm
total 204 
drwxr-xr-x    1 oracle   dba               0   Oct 30 16:00 . 
drwxr-xr-x   22 root     root         204800   Oct 30 16:00 .. 
-rw-r-----    1 oracle   dba      2147483648   Nov  1 16:46 ora_orcl1_1277954
The next command shows how many Huge Pages are currently being used on this system:
$ grep Huge /proc/meminfo
HugePages_Total:  1536 
HugePages_Free:    194 
Hugepagesize:     2048 kB 
The output shows that 1342 (1536-194) Huge Pages are being used. This translates into 2814377984 (1342*2048*1024) bytes being allocated in the Huge Pages pool. This number matches the size of both shared memory segments (2736783360+77594624=2814377984) displayed by the ipcs command above.
This shows that the Huge Pages pool is not being used for the ramfs shared memory file system. Hence, you do not need to increase the Huge Pages pool if you use the ramfs shared memory file system.