This content has been marked as final. Show 1 reply
The shmmax kernel parameter simply sets a limit on the maximum size of an individual shared memory segment. It has no direct effect on performance. In general it needs to be set large enough to allow for the largest shared memory segment that you need to create but smaller then the amount of physical memory in the machine. The shmall parameter sets a system wide limit on the total amount of shared memory (all active segments added together) that can be allocated. This should also, in general, be less then the [physical memory on the machine.
If either is set to more than the memory in the machine this is not an immediate issue. However in this case it is possible to create shared memory that exceeds the physical memory of the system (as long as adequate swap space is configured) and if this occurs then overall system performance will be impacted, probably severely.
So, work out what you need and set them accordingly.