24

Is there any command line or php script which returns the memcached total memory usage?

5 Answers 5

43

As Mike said, you can look at the line including the "STAT bytes" to see memory usage:

$ echo "stats" | nc -w 1 <host> <port> | awk '$2 == "bytes" { print $2" "$3 }'
3
  • 1
    Leaving that for future reference: The default host/port is: 127.0.0.1:11211
    – Moritur
    Feb 8, 2017 at 12:25
  • So just type in console: echo "stats" | nc -w 1 localhost 11211 | awk '$2 == "bytes" { print $2" "$3 }'
    – jobima
    Apr 17, 2020 at 8:11
  • 1
    More verbose echo "stats" | nc -w 1 localhost 11211 | awk '$2 ~ "bytes" { print $2" - "$3/1024/1024 " MB" }' Dec 4, 2021 at 6:21
19

memcache's default port is 11211 so if memcache is local

telnet localhost 11211

Then run the stats command and that will spit out memory usage

stats
2
  • 1
    Thanks for the telnet tip, but what should I really read in there? I see STAT bytes 9857275 STAT curr_items 43599 STAT total_items 1048925 and I have the impression that my memcached is never filling up...
    – Stefano
    Dec 6, 2011 at 22:13
  • 6
    STAT bytes is the line you are looking for total usage
    – Mike
    Dec 7, 2011 at 2:19
4

I personally use PhpMemcacheAdmin

http://code.google.com/p/phpmemcacheadmin/

It creates an easy to use GUI. Of course you'll need to have PHP support.

2
2

Another alternative to answer @mike,

echo "stats" | nc localhost 11211
#or
echo "stats settings" | nc localhost 11211
1

If you are using php:

$m = new Memcached();
$m->addServer('localhost', 11211);
echo $m->getStats()['localhost:11211']['bytes'];

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .