memcached添加日志输出

引子:qa的memcached总是隔一段时间挂掉,导致qa进不去。决定查一下原因,于是添加日志输出,等下次出错便于查阅、定位问题。

memcache默认没有日志输出。如果想把memecache服务日志保存到日志文件中,需要在启动参数中进行配置。

安装memache后,可以通过-h来查看支持的参数,其中关于日志输出的有以下三个:

-v    verbose (print errors/warnings while in event loop)       #代表打印普通的错误或者警告类型的日志信息
-vv   very verbose (also print client commands/reponses)        #打印的日志更详细,除了错误和警告,还包含了客户端命令和server端的响应信息
-vvv  extremely verbose (also print internal state transitions) #最详尽的,甚至包含了内部的状态信息打印

根据需要选择相应的参数即可,这里选择-vv。由于需要将日志保存到文件而不是打印在控制台上,所以需要对-vv的输出进行数据流重定向。

修改memecache的脚本为:

killall memcached ; memcached -d start -m 128 -p 11211 -u root -vv >> /data/logs/mem.log.`date +%Y%m%d` 2>&1 

标蓝部分是修改部分。

>> 追加形式写入日志文件中 (>表示覆盖)
/data/logs/mem.log.`date +%Y%m%d`为日志文件的名字。以年月日作为后缀来区分,无法进行日志切分(待研究和总结),只有重启的时候才会创建新的日志文件。
2>&1 将错误信息也一同写入日志文件中(详情参考 shell输入/输出重定向)

 

重启memcache, 相应目录便生成日志文件。

slab class   1: chunk size        96 perslab   10922
slab class   2: chunk size       120 perslab    8738
slab class   3: chunk size       152 perslab    6898
slab class   4: chunk size       192 perslab    5461
slab class   5: chunk size       240 perslab    4369
slab class   6: chunk size       304 perslab    3449
slab class   7: chunk size       384 perslab    2730
slab class   8: chunk size       480 perslab    2184
slab class   9: chunk size       600 perslab    1747
slab class  10: chunk size       752 perslab    1394
slab class  11: chunk size       944 perslab    1110
slab class  12: chunk size      1184 perslab     885
slab class  13: chunk size      1480 perslab     708
slab class  14: chunk size      1856 perslab     564
slab class  15: chunk size      2320 perslab     451
slab class  16: chunk size      2904 perslab     361
slab class  17: chunk size      3632 perslab     288
slab class  18: chunk size      4544 perslab     230
slab class  19: chunk size      5680 perslab     184
slab class  20: chunk size      7104 perslab     147
slab class  21: chunk size      8880 perslab     118
slab class  22: chunk size     11104 perslab      94
slab class  23: chunk size     13880 perslab      75
slab class  24: chunk size     17352 perslab      60
slab class  25: chunk size     21696 perslab      48
slab class  26: chunk size     27120 perslab      38
slab class  27: chunk size     33904 perslab      30
slab class  28: chunk size     42384 perslab      24
slab class  29: chunk size     52984 perslab      19
slab class  30: chunk size     66232 perslab      15
slab class  31: chunk size     82792 perslab      12
slab class  32: chunk size    103496 perslab      10
slab class  33: chunk size    129376 perslab       8
slab class  34: chunk size    161720 perslab       6
slab class  35: chunk size    202152 perslab       5
slab class  36: chunk size    252696 perslab       4
slab class  37: chunk size    315872 perslab       3
slab class  38: chunk size    394840 perslab       2
slab class  39: chunk size    493552 perslab       2
slab class  40: chunk size    616944 perslab       1
slab class  41: chunk size    771184 perslab       1
slab class  42: chunk size   1048576 perslab       1
<26 server listening (auto-negotiate)
<27 server listening (auto-negotiate)
<28 send buffer was 124928, now 268435456
<32 send buffer was 124928, now 268435456
<28 server listening (udp)
<31 server listening (udp)
<30 server listening (udp)
<29 server listening (udp)
<32 server listening (udp)
<35 server listening (udp)
<34 server listening (udp)
<33 server listening (udp)
<36 new auto-negotiating client connection
36: Client using the ascii protocol
<36 set facebook_req_usrconf.do__1383 0 7200 15
>36 STORED
<37 new auto-negotiating client connection
<38 new auto-negotiating client connection
38: Client using the ascii protocol
<38 set facebook_sess_383 0 86400 8
>38 STORED
<38 get facebook_sess_383
>38 sending key facebook_sess_383
>38 END
37: Client using the ascii protocol
<37 incr facebook_add_action_t_383_usrconf.do 1
>37 NOT_FOUND
<37 set facebook_add_action_t_383_usrconf.do 0 32505 1
>37 STORED
<38 incr facebook_add_action_t2_383 1
>38 NOT_FOUND
<36 set facebook_decorate_expire_1487865600001383 512 86400 1
>36 STORED
<36 get facebook_login_mark_time_of_current
>36 END
<37 get facebook_login_mark_time_of_current
>37 END
<38 delete facebook__avas1_383
原文地址:https://www.cnblogs.com/happySmily/p/6439959.html