Redis info命令详解

Posted unsigned1995

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis info命令详解相关的知识,希望对你有一定的参考价值。

Redis info命令详解

菜就是原罪,不抱怨,睡眠充足

  • 命令
127.0.0.1:6379> info [server|clients|memory|stats|...]
# Server
redis_version:5.0.4                               #redis版本
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:964fe9af98041665
redis_mode:standalone                             #运行模式,单机或集群
os:Linux 3.10.0-693.21.1.el7.x86_64 x86_64        #系统版本
arch_bits:64                                      #架构,32位或64位
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:4.8.5                                 #编译redis时所使用的gcc版本
process_id:2939                                   #redis服务器的进程id
run_id:11b5694d024d8c728c1448ec4163fb0c22b86375   #redis服务器的随机标识符(用于sentinel和集群)
tcp_port:6379                                     #redis服务监听端口
uptime_in_seconds:18316                           #redis服务启动时长,单位为秒
uptime_in_days:0                                  #redis服务启动时长,单位为天
hz:10                             #redis内部调度(进行关闭timeout的客户端,删除过期key等等)频率
configured_hz:10
lru_clock:4564768
executable:/usr/local/redis/redis-server          #执行文件位置
config_file:/usr/local/redis/./redis.conf         #配置文件位置

# Clients
connected_clients:2                               #已连接的客户端数(不包括通过slave连接的客户端)
client_recent_max_input_buffer:2                  
client_recent_max_output_buffer:0                 
blocked_clients:0                 #正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量

# Memory
used_memory:8985032                               #由redis分配器分配的内存总量,以字节为单位
used_memory_human:8.57M                           #易读方式   
used_memory_rss:15175680          #从操作系统的角度,返回redis已分配的内存总量(俗称常驻集大小)
used_memory_rss_human:14.47M        
used_memory_peak:14859000                         #redis的内存消耗峰值(以字节为单位) 
used_memory_peak_human:14.17M
used_memory_peak_perc:60.47%                      #峰值内存超出分配内存(used_memory)的百分比
used_memory_overhead:5407864      #服务器为管理其内部数据结构而分配的所有开销的字节总和
used_memory_startup:862032                        #Redis在启动时消耗的初始内存量(以字节为单位)
used_memory_dataset:3577168       
used_memory_dataset_perc:44.04%
allocator_allocated:8951208
allocator_active:15137792
allocator_resident:15137792
total_system_memory:512077824                     #系统内存总量
total_system_memory_human:488.36M                 
used_memory_lua:37888                             #Lua引擎使用的字节量
used_memory_lua_human:37.00K
used_memory_scripts:0
used_memory_scripts_human:0B
number_of_cached_scripts:0
maxmemory:0                                       #配置设置的最大可使用内存值
maxmemory_human:0B
maxmemory_policy:noeviction
allocator_frag_ratio:1.69        
allocator_frag_bytes:6186584
allocator_rss_ratio:1.00
allocator_rss_bytes:0
rss_overhead_ratio:1.00
rss_overhead_bytes:37888
mem_fragmentation_ratio:1.70      #used_memory_rss和used_memory之间的比率
mem_fragmentation_bytes:6224472   #used_memory_rss和used_memory之间的差值,单位字节
mem_not_counted_for_evict:0
mem_replication_backlog:0
mem_clients_slaves:0
mem_clients_normal:66616
mem_aof_buffer:0
mem_allocator:libc                                #内存分配器,在编译时选择
active_defrag_running:0                           #指示活动碎片整理是否处于活动状态的标志
lazyfree_pending_objects:0

# Persistence
loading:0                                         #服务器是否正在载入持久化rdb文件
rdb_changes_since_last_save:0                     #自上次rdb持久化以来发生改变的数值
rdb_bgsave_in_progress:0                          #服务器是否正在创建rdb文件
rdb_last_save_time:1564845192                     #最后一次成功rdb持久化的时间戳
rdb_last_bgsave_status:ok                         #最后一次rdb持久化是否成功
rdb_last_bgsave_time_sec:0                        #最后一次成功生成rdb文件耗时秒数
rdb_current_bgsave_time_sec:-1                    #当前bgsave已耗费的时间(如果有)
rdb_last_cow_size:438272                          #上次rbd保存操作期间写时复制分配的字节大小
aof_enabled:0                                     #aof功能是否开启
aof_rewrite_in_progress:0                         #标识aof的rewrite操作是否在进行中
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1                      #最后一次aof rewrite耗费的时长
aof_current_rewrite_time_sec:-1                   #当前rewrite已耗费的时间(如果有)
aof_last_bgrewrite_status:ok                      #最后一次bgrewrite是否成功
aof_last_write_status:ok                          #上次aof写入状态
aof_last_cow_size:0                      #上次AOF重写操作期间写时复制分配的大小(以字节为单位)

如果激活了AOF,则会添加以下附加字段:
aof_current_size:4201740 ? ? ? ? ? ? ? ?          #aof当前尺寸
aof_base_size:4201687 ? ? ? ? ? ? ? ? ? ?#服务器启动时或者aof重写最近一次执行之后aof文件的大小
aof_pending_rewrite:0 ? ? ? ? ? ? ? ? ? ?#是否有aof重写操作在等待rdb文件创建完毕之后执行?
aof_buffer_length:0 ? ? ? ? ? ? ? ? ? ? ? ? ? ?   #aof buffer的大小
aof_rewrite_buffer_length:0 ? ? ? ? ? ? ?         #aof rewrite buffer的大小
aof_pending_bio_fsync:0 ? ? ? ? ? ? ? ? ?         #后台I/O队列里面,等待执行的fsync调用数量
aof_delayed_fsync:0 ? ? ? ? ? ? ? ? ? ? ? ? ?     #被延迟的fsync调用数量

如果正在进行加载操作,则会添加以下附加字段:
loading_start_time                                #加载操作开始的基于纪元的时间戳
loading_total_bytes                               #文件总大小
loading_loaded_bytes                              #已加载的字节数
loading_loaded_perc                               #加载进度表示为百分比
loading_eta_seconds                               #ETA在几秒钟内完成负载


# Stats
total_connections_received:7212                   #服务接受的总连接数
total_commands_processed:2341631                  #服务器处理的总命令数
instantaneous_ops_per_sec:0                       #每秒处理的命令数
total_net_input_bytes:125344667                   #从网络读取的总字节数
total_net_output_bytes:1712517025                 #写入网络的总字节数
instantaneous_input_kbps:0.00                     #网络读取速率KB/sec
instantaneous_output_kbps:0.00                    #网络写入速率KB/sec 
rejected_connections:0                            #因达到最大连接数而拒绝的连接
sync_full:1                                       #给从节点完全同步的数量
sync_partial_ok:0                                 #接受的同步请求数量
sync_partial_err:0                                #拒绝的同步请求数量
expired_keys:0                                    #键到期的总数
expired_stale_perc:0.00
expired_time_cap_reached_count:0
evicted_keys:0                           #因达到maxmemory限制而被驱逐的键的数量
keyspace_hits:641037            #Number of successful lookup of keys in the main dictionary
keyspace_misses:9002            #Number of failed lookup of keys in the main dictionary
pubsub_channels:1
pubsub_patterns:0
latest_fork_usec:326                     #最新fork操作的持续时间(以微秒为单位)
migrate_cached_sockets:0
slave_expires_tracked_keys:0
active_defrag_hits:0
active_defrag_misses:0
active_defrag_key_hits:0
active_defrag_key_misses:0

# Replication
role:master                              #master or slave
connected_slaves:0                       #已建立连接的从节点数
master_replid:fe1bb6f5cfef91b36603d8e57081cc02890705c8    #复制ID
master_replid2:0000000000000000000000000000000000000000   #第二个复制ID,用于failover的PSYNC
master_repl_offset:86270959              #服务当前的复制偏移量
second_repl_offset:-1           #The offset up to which replication IDs are accepted
repl_backlog_active:0
repl_backlog_size:1048576                #复制积压缓冲区的总大小(B)
repl_backlog_first_byte_offset:85222384  #复制积压缓冲区的主偏移量
repl_backlog_histlen:1048576             #复制积压缓冲区中数据的大小

# CPU
used_cpu_sys:24.941282                    #Redis服务消耗的系统cpu
used_cpu_user:18.820039                   #Redis服务消耗的用户cpu
used_cpu_sys_children:0.050757            #后台进程占用的系统cpu
used_cpu_user_children:0.259980           #后台进程占用的用户cpu

# Cluster                                 #集群信息
cluster_enabled:0

# Keyspace                                #数据库的统计信息
db0:keys=85766,expires=0,avg_ttl=0

used_memory_rss和used_memory之间的比率解读:

  在理想情况下, used_memory_rss 的值应该只比 used_memory 稍微高一点儿。当 rss > used ,且两者的值相差较大时,表示存在(内部或外部的)内存碎片。内存碎片的比率可以通过 mem_fragmentation_ratio 的值看出。当 used > rss 时,表示 Redis 的部分内存被操作系统换出到交换空间了,在这种情况下,操作可能会产生明显的延迟。当 Redis 释放内存时,分配器可能会,也可能不会,将内存返还给操作系统。如果 Redis 释放了内存,却没有将内存返还给操作系统,那么 used_memory 的值可能和操作系统显示的 Redis 内存占用并不一致。查看 used_memory_peak 的值可以验证这种情况是否发生。

以上是关于Redis info命令详解的主要内容,如果未能解决你的问题,请参考以下文章

(15)redis Pipeline详解

第二课补充01——redis-cli命令行详解string类型list类型hash类型命令操作详解

Redis - CLUSTER命令中集群管理命令详解

redis命令monitor详解

Redis事务和乐观锁原理详解

pythonredis基本命令和基本用法详解