-n option in memcached 1.2.x not working?

Eli Bingham eli at pandora.com
Fri Mar 30 19:06:20 UTC 2007


Memcached folks,

You may already know about the problem I'm going to describe.  I'm  
new around here, and I searched the archives but couldn't find any  
reference to this problem, so here goes...

The help text describes the "-n" option for setting the minimum slab  
size.  From code inspection, the case statement in main() supports it:

...
         case 'n':
             settings.chunk_size = atoi(optarg);
             if (settings.chunk_size == 0) {
                 fprintf(stderr, "Chunk size must be greater than 0\n");
                 return 1;
             }
             break;
...

However, the call to getopt above the case does not include it:

while ((c = getopt(argc, argv, "bp:s:U:m:Mc:khirvdl:u:P:f:s:")) != -1) {

I also checked your subversion repository on the web and it also does  
not include it in the latest at http://code.sixapart.com/svn/ 
memcached/trunk/server/memcached.c:

while ((c = getopt(argc, argv, "bp:s:U:m:Mc:khirvdl:u:P:f:s:")) != -1) {

Since getopt doesn't include the option, it obviously doesn't work:

$ memcached -n 80 -vv
memcached: invalid option -- n
Illegal argument "?"

$ memcached  -vv
slab class   1: chunk size     80 perslab 13107
slab class   2: chunk size    100 perslab 10485
slab class   3: chunk size    128 perslab  8192
slab class   4: chunk size    160 perslab  6553
slab class   5: chunk size    200 perslab  5242
slab class   6: chunk size    252 perslab  4161
slab class   7: chunk size    316 perslab  3318
slab class   8: chunk size    396 perslab  2647
slab class   9: chunk size    496 perslab  2114
slab class  10: chunk size    620 perslab  1691
slab class  11: chunk size    776 perslab  1351
slab class  12: chunk size    972 perslab  1078
slab class  13: chunk size   1216 perslab   862
slab class  14: chunk size   1520 perslab   689
slab class  15: chunk size   1900 perslab   551
slab class  16: chunk size   2376 perslab   441
slab class  17: chunk size   2972 perslab   352
slab class  18: chunk size   3716 perslab   282
slab class  19: chunk size   4648 perslab   225
slab class  20: chunk size   5812 perslab   180
slab class  21: chunk size   7268 perslab   144
slab class  22: chunk size   9088 perslab   115
slab class  23: chunk size  11360 perslab    92
slab class  24: chunk size  14200 perslab    73
slab class  25: chunk size  17752 perslab    59
slab class  26: chunk size  22192 perslab    47
slab class  27: chunk size  27740 perslab    37
slab class  28: chunk size  34676 perslab    30
slab class  29: chunk size  43348 perslab    24
slab class  30: chunk size  54188 perslab    19
slab class  31: chunk size  67736 perslab    15
slab class  32: chunk size  84672 perslab    12
slab class  33: chunk size 105840 perslab     9
slab class  34: chunk size 132300 perslab     7
slab class  35: chunk size 165376 perslab     6
slab class  36: chunk size 206720 perslab     5
slab class  37: chunk size 258400 perslab     4
slab class  38: chunk size 323000 perslab     3
slab class  39: chunk size 403752 perslab     2
slab class  40: chunk size 504692 perslab     2
<3 server listening
SIGINT handled.

Just thought this might be nice to have fixed, as it's a bit  
difficult to fine tune allocation without this option!

Thanks,
Eli Bingham
Senior Software Engineer
Pandora Media, Inc.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.danga.com/pipermail/memcached/attachments/20070330/012dfd50/attachment.htm


More information about the memcached mailing list