This content has been marked as final. Show 2 replies
As far as I know, the kernel.shmmax parameter just sets the upper boundary of memory in bytes a process can allocate. It does not mean that it is going to use that memory, but what happens if there is a memory leak, or other software goes mad.Yes, the SHMMAX is mostly just a sanity check. It keeps a rogue application from allocating lots of shared memory and causing a denial of service (starvation) to other applications.
As a safeguard for the OS, wouldn't it be more appropriate to set the SHMMAX size for Oracle 11gR2 XE to 1 GB or 1073741823 bytes? 32 MB is the default.
While I would not dream of speaking for the RDBMS team, I suspect that is just a don't bother me kind of value: excessively generous, but an attempt to avoid a different class of problems. I'd keep on sizing the value appropriately for my SGA. No reason for the value to be much larger than your largest SGA's size.