13

i am using memcached on my centos server , my project is large and has objects more than 1MB which i need to save to memcached , well , i can't ! because the max_item_size is 1MB , anyway to edit that ?

Thank you

Rami Dabain
  • 4,709
  • 12
  • 62
  • 106
  • possible duplicate of [Cache over 1mb memcache alternatives](http://stackoverflow.com/questions/15977676/cache-over-1mb-memcache-alternatives) – Baba Apr 13 '13 at 16:47
  • check out how to do this in Ruby on Rails: http://stackoverflow.com/questions/37352553/how-to-increase-memcache-slab-size-above-1mb-with-dalli-and-rails/37485215#37485215 – Zack Xu May 31 '16 at 14:51
  • Also sometimes memcached client sets it's own max size limitation. For example, with Python's `memcached` this may be needed in addition to -I 15m: `import memcache ; client=memcache.Client([('localhost',11211)], server_max_value_length=15 * 1024 * 1024)` – Roman Susi Jun 16 '22 at 10:56
  • Here is another answer on the same - https://stackoverflow.com/q/1440722/6563567 – ns15 Oct 03 '22 at 15:26

4 Answers4

20

You can change the limit quickly by edit the configuration file [/etc/memcached.conf] adding:

# Increase limit 
-I 128M

Or if you have trouble with SO config run it with command line directly

memcached -I 128M
onalbi
  • 2,609
  • 1
  • 24
  • 36
  • Is there a way to configure this size in Tomcat context.xml when configuring memcahed SessionManager? – Anshu Feb 18 '21 at 04:43
5

If you are using Memcache >= 1.4.2, this is now configurable. Here is an example of how to set this in your init script for starting Memcache on CentOS: http://www.alphadevx.com/a/387-Changing-the-maximum-item-size-allowed-by-Memcache

alphadevx
  • 903
  • 1
  • 9
  • 11
3

You can compile memcached and change the memory allocation setting to use POWER_BLOCK's, in the slabs.c file (or you can recompile and user malloc/free, but that is the greater of the evils).

http://code.google.com/p/memcached/wiki/FAQ#Why_are_items_limited_to_1_megabyte_in_size?

I would seriously consider what you are caching and how it can be more modular, > 1MB in active memory is large.

Brandon
  • 2,574
  • 19
  • 17
1

Spent tons of time to figure this out: in /etc/sysconfig/memcached edit options

OPTIONS="-l 127.0.0.1 -I 3m"

then systemctl restart memcached to take effect.

Would recommend option -l 127.0.0.1 it secures to localhost usage only and -I 3m increases the limit as described above.

With Centos 7 I had no luck with these paths /etc/memcached.conf /etc/default/memcached

Hebe
  • 661
  • 1
  • 7
  • 13