如何监控redis的cpu使用率
redis默认是单线程运行的,为了充分利用机器的cpu,正常情况下一台服务器上会装多个实例。如果通过top命令监控机器的cpu的话,监控值很笼统,不能精确到单redis实例的cpu使用率监控。而且centos 7.0通过top监控整体cpu的使用率并不准确。所以需要使用其它方式监控cpu。
进入redis实例
127.0.0.1:36379> info cpu
# CPU
used_cpu_sys:2187.88
used_cpu_user:1842.28
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
其中:
used_cpu_user:redis进程指令在用户态所消耗的cpu时间,该值为累计值(秒)
used_cpu_sys:redis进程指令在核心态所消耗的cpu时间,该值为累计值(秒)
used_cpu_sys_children:redis后台进程指令在用户态所消耗的cpu时间,该值为累计值(秒)
used_cpu_sys_children:redis后台进程指令在核心态所消耗的cpu时间,该值为累计值(秒)
redis进程单cpu的消耗率可以通过如下公式计算:
((used_cpu_sys_now-used_cpu_sys_before)/(now-before))*100
可以通过下面的方式计算告警值:
(used_cpu_sys_now-used_cpu_sys_before)/(now-before)<0.9
其中
used_cpu_sys_now:now时间点的used_cpu_sys值
used_cpu_sys_before:before时间点的used_cpu_sys值