By default, the maximum_memory and maximum_table_memory setting is configured in your memsql.cnf files for each MemSQL node based on physical host memory capacity when MemSQL is installed. This setting is not automatically changed when the system's memory capacity changes, to avoid unintentionally allowing MemSQL to use more memory than desired.
After changing system memory capacity, to change MemSQL's memory limits and optimize other MemSQL configurations, you can run:
which automatically sets MemSQL's memory limits based on the amount of system memory. See MEMSQL-OPTIMIZE.
To just change the memory limits, run
memsql-ops memsql-update-config --set-global --key maximum_memory --value value_in_mb
memsql-ops memsql-update-config --set-global --key maximum_table_memory --value value_in_mb
To decrease MemSQL's memory limits you must change the value of maximum_memory and maximum_table_memory and restart the affected memsql nodes.
Before lowering maximum_memory you must make sure the value of Total_server_memory does not exceed the proposed new value for maximum_memory.
Before lowering maximum_table_memory you must make sure the value of Alloc_table_memory does not exceed the proposed new value for maximum_memory.
You should lower maximum_table_memory before lowering maximum_memory to avoid setting maximum_memory lower than maximum_table_memory.
To learn more about how to choose values for maximum_memory and maximum_table_memory read: https://docs.memsql.com/concepts/v5.8/memory-management/
To learn how to update system variables read:
To learn how memory is used by a memsql node read: