Det finns ju flera olika sätt att skaffa delat minne: shmctl (SySV), shm_open (posix) eller mmap. Eller till och med att ha en trådbaserad lösning utan shared memory istället för att dela minne mellan processer.
De parametrar du nämner gäller processer som använder sig av SysV-modellen (shmctl, etc).
Det är omöjligt att rekommendera värden på parametrarna utan att veta exakt hur applikationen använder delat minne och till vad. T.ex. parametern shmmax styr ju maximal storlek på ett minnes-segment. Om man använder en databashanterare som cachar databasen i ett delat minne är ju 16MB (som du satt) på tok för litet! Om din applikation inte använder SysV-primitiver för sitt delade minne så är ju uppbumpningen till 16MB helt onödig.
Vad är det för applikation du försöker hjälpa på traven med trimmningarna?