LSB Version: :core-4.0-amd64:core-4.0-ia32:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-ia32:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-ia32:printing-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 5.8 (Tikanga)
SQL*Plus: Release 18.104.22.168.0 Production
we have set shmmax=5g but in ipcs -m only 4096 is allocated
Setting the kernel.shmmax parameter does not reserve or pre-allcoate shared memory to a process. SHMMAX is a safeguard parameter that sets the upper limit of how much shared memory a process can allocate when requested.
There are two types of shared memory: /dev/shm and kernel hugepages.
Your output is typical for a 11g database configuration that uses Automatic Shared Memory (AMM). You won't see the memory allocation for processes using /dev/shm in ipcs. Use df instead. For instance:
Please note that for performance reasons, kernel hugepages is preferred for any database that uses more than 4 GB of RAM. POSIX compliant shared memory /dev/shm memory uses standard 4 KB memory pages, whereas Hugepages uses 2 MB, which results in a much smaller page table, saving physical memory and better TLB performance (cache used for storing virtual-to-physical mapping information).