This page provides a list of Memorystore for Memcached's modifiable and unmodifiable Memcached configuration parameters, as well as the default values for the parameters.
Modifiable configuration parameters
You can modify the following parameters when creating or updating a Memorystore for Memcached instance. Updating parameters requires you to change and apply parameters in two separate steps. For more information about how to change these configurations, see Configuring Memcached instances.
| Parameter | Acceptable values | Default value | Description |
|---|---|---|---|
| listen-backlog (-b) | 1-10000 | 1024 | Adjustable length of the connection backlog queue. The backlog is the number of network connection requests queued up to be processed by Memcached. |
| disable-flush-all (-F) | true, false | false | Setting disable-flush-all to true disables the open source Memcached flush-all command. Modifying this configuration increments the cmd_flush counter, however a flush does not actually occur. |
| disable-watch (-W) | true, false | false | Memcached version 1.6.15, or later. If set to true this parameter disables the use of watch commands. Watchers allow you to connect to Memcached and inspect what's going on internally. Fetches, mutations, connection events etc. can be observed by using watch <fetchers|mutation|evictions|connevents|deletions>. |
| max-item-size (-I) | 524288-134217728 (bytes) | 1048576 | The Memcached parameter max-item-size sets the maximum size limit for items stored in the instance. It is subject to a few additional constraints:
|
| slab-min-size (-n) | 1-1024 (bytes) | 48 | Sets the minimum item size and the size of the smallest Memcached slab. |
| slab-growth-factor (-f) | 1.01-100.00 | 1.25 | slab-growth-factor is the multiplier used to calculate the size of Memcached chunks/slabs. Lowering this value can improve the efficiency of memory usage, but it depends on size of items to be stored and the available memory of the instance. |
| protocol (-B) | auto, ascii | auto | The binding protocol. Designates which protocol clients attempting to connect to the server must use. Auto supports both binary and ascii protocol. |
| disable-cas (-C) | true, false | false | If disable-cas is set to true, check and set (CAS) operations are disabled. Disabling CAS operations uses 8 fewer bytes for each item in the cache. Memcached uses the CAS operation to refresh an item's data if it hasn't been updated since the last retrieval. |
| disable-evictions (-M) | true, false | false | If set to true, when out of memory, Memcached returns an error rather than evicting items. The instance won't accept writes until memory becomes available. |
| max-reqs-per-event (-R) | 1-1000 | 20 | Limits the number of requests per event that a single client connection can make. After the client exceeds this value, the server prioritizes other clients before it continues to process the original client request. |
| reserved-memory-percent | 0.0-50.0 | 10.0 | Sets your instance's Reserved Memory to the specified percentage to increase the amount of space available for memory overhead. This setting also reduces cache memory by the same percentage. Instances created before October 25, 2021 have a default value of 0. For more information, see Memory management best practices. |
Supported extended options
| Parameter | Acceptable values | Default value | Description |
|---|---|---|---|
| track_sizes | true, false | false (disabled) | If track-sizes is set to true, users can run the Memcached stats sizes command. We do not recommend enabling this configuration in production environments. |
| watcher_logbuf_size | 0-2097151 (kibibytes) | 262144 | The size of the write buffer per active watcher connected. Changing this configuration adjusts the size of the watch command's logging buffer size. To avoid losing logs, increase watcher_logbuf_size when it is full. |
| worker_logbuf_size | 48-524288 (kibibytes) | 65536 | Controls the size of the buffer for each active worker. The background thread reads from these buffers. |
| lru_crawler | true, false | true (enabled) | The lru_crawler configuration enables a background process that scans through slabs and removes the least recently used (lru) items from those slabs. This process is not CPU or memory intensive. Since it is enabled, the process will run at launch time until you set lru_crawler to false. |
| idle_timeout | 0-86400 seconds | 0 (disabled) | Set to 0 (disabled) by default. This configurations sets time in seconds that clients can idle before timing out and disconnecting. |
| lru_maintainer | true, false | true (enabled) | Enabled by default. lru_maintainer is a background process that determines how recently items are accessed in order to properly sort all items by "least recently used" (lru). |
| maxconns_fast | true, false | false (disabled) | Manages how Memcached processes new connections when the maximum number of clients is reached. When maxconns-fast is set to false, connections exceeding the maximum connection limit are added to a queue. When maxconns-fast is set to true, connections exceeding the maximum connection limit are dropped and served an error message. |
| hash_algorithm | jenkins, murmur3, xxh3 | murmur3 | Designates the hash algorithm that the instance uses. Only instances using Memcached version 1.6.15 or higher can use the xxh3 config. |
Unmodifiable configuration parameters
The following table lists the Memcached configuration parameters that you cannot modify with Memorystore for Memcached, and the default values of the parameters. For more details, see the list of native Memcached configuration parameters.
| Parameter | Default value |
|---|---|
| port (-p) | 11211 |
| memory-limit (-m) | Memorystore sets this value to match the memory configured for each node in the instance node config. This configuration is unmodifiable; however, you can add Reserved Memory with the reserved memory configuration listed above. |
| threads (-t) | Memorystore sets this value to match the number of CPUs for each instance node. |
| conn-limit (-c) | 65000 per node |
| verbose (-v) | true |
| slab_automove | true (enabled) |
| slab_reassign | true (enabled) |
| enable-largepages (-L) | false (disabled) |
| lock-memory (-k) | false (disabled) |
| expirezero-does-not-evict | Not supported. Deprecated in Memcached 1.4.35. |
| slab_chunk_max | 524288 bytes |
| modern | true (enabled) |
What's next
- Learn how to configure Memcached instances.
- Monitor your Memcached instances.