To reduce 'max memory' you can try setting the new value and then bounce the dataserver. Upon startup the 'max memory' value would be applied first and then the 'total logical memory' setting will be reset/calculated based on the new 'max memory' setting.
If you're unable to set 'max memory' before shutting down the dataserver you'll have to a) shutdown dataserver, 2) update the dataserver *cfg file with the new 'max memory' value and 3) restart the dataserver.
Keep in mind that if you have more than 'max memory' memory allocated for other purposes (eg, data caches, proc cache, statement cache, user connections, etc) you may experience some problems during dataserver startup. To address this issue you would need to increase 'max memory' or decrease some of the memory-related settings. ("Duh, Mark!" ?)