命令具体实现在redis-3.0/src/redis.c:genRedisInfoString
。
Memory
used_memory
是redis通过在每次执行malloc
和free
等函数的时候维护定义在src/zmalloc.c
中的used_memory
变量实现的used_memory_rss
在linux中是通过读/proc/{pid}/stat
这个文件的第24个字段rss
得到number of pages the process in real memory然后再乘以sysconf(_SC_PAGESIZE)
实现的。sysconf(_SC_PAGESIZE)
表示Size of a page in bytes。used_memory_peak
Record the max memory used since the server was started.mem_fragmentation_ratio
Fragmentation = RSS / allocated-bytes,allocated-bytes即为used_memory
CPU
used_cpu_user
调用getrusage
得到的ru_utime
used_cpu_sys
调用getrusage
得到的ru_stime