So, in short, you are saying that none of my cache inserts are being evicted. Which means that at any point where I am inserting into the cache, there is memory available to do so.
Does this mean that my problem is one of 3 things: 1. My code is no good, and I am not actually inserting into the cache for some reason. 2. The size of the hash value is bigger than 'limit_maxbytes' 3. Something else is using up the memory, silently destroying my cache. Or have I left something unconsidered? T On Apr 21, 8:21 am, "Olga Khenkin" <[email protected]> wrote: > No. > > ________________________________ > > From: [email protected] [mailto:[email protected]] On > Behalf Of Kevin Amerson > Sent: Monday, April 20, 2009 9:42 PM > To: [email protected] > Subject: Re: Measuring Memory Usage > > I was thinking that as well, but the evictions above are 0 - but the > bytes used / available seem to indicate items are being evicted; Are > evictions incremented if items are expiring? > > On Mon, Apr 20, 2009 at 10:43 AM, Olga Khenkin <[email protected]> > wrote: > > Hi, > > When memcached uses all allocated memory, it starts to delete old > objects, which may not be expired yet. It deletes the least recently > used object from the slab (bucket). These deletes are called > 'evictions'. > > You can see the number of evictions in memcached 'stats' command. You > can also use two other commands: 'stats slabs' and 'stats items', which > will give you usage info per bucket. > > Olga. > > -----Original Message----- > From: [email protected] [mailto:[email protected]] On > > Behalf Of tcbarrett > Sent: Monday, April 20, 2009 2:08 PM > To: memcached > Subject: Measuring Memory Usage > > Hi > > I searched the group for 'measuring memory usage' with no hits. > > I am trying to determine how much memory my cached data is using. I > have some large data blocks that are not caching properly[1]. I am > assuming that is due to there being a smaller numer of large 'buckets' > and I have used all mine up? > > I am in the process of breaking it down into more sensible chunks > (e.g. one data hash has 1000s of subkeys that I can make into cache > hits on their own). However I would ideally like to know how much > memory I am using as I have absolutely no idea if I am near the > saturation point of allocated memory or not. > > I feel a bit dumb as this seems to be either a) common problem and I > am incapable of finding the answer myself or b) a stupid problem that > nobody ever thought someone would get into. > > This is running on a linux box (a few flavours), using perl. > > [1] By this I mean that sometimes, after a period of time, the cache > retrieval is empty (before expiry). Basically I don't know why. Could > it be some other application eating the memory? Or is it other large > keys being set, pushing it out? Or am I using up all the allocated > memory?
