Can you check the syslog file and see if you get there some error message? The shared memory is initialized whenever is first time needed during the parsing of the configuration file, so it may be that the parameter was set too late.
The safest would be indeed setting it via -m command line parameter.