Info命令
命令 |
查询的信息 |
info all |
查询全部信息 : Server 、 Clients 、 Memory 、 Persistence 、 Stats 、 Replication 、 CPU 、 Modules 、 Commandstats 、 Errorstats 、 Cluster 、 Keyspace |
info |
相比 info all , 缺少 Commandstats 信息 |
info server |
仅查看Server信息 |
info clients |
仅查看客户端链接信息 |
info memory |
仅查看内存信息 |
info persistence |
仅查看持久化信息 |
info stats |
查看运行状态 |
info replication |
查看主从复制信息 |
info cpu |
查看服务器cpu信息 |
info modules |
查看服务加载的模块信息 |
info commandstats |
查看命令运行信息 |
info error stats |
查看错误状态信息 |
info cluster |
查看集群配置信息 |
info keyspace |
查看数据库信息(对应 select 命令) |
服务器信息
属性 |
含义 |
redis_version |
当前Redis的版本信息 |
redis_git_sha1 |
Git SHA1 |
redis_git_dirty |
git dirty flag |
redis_build_id |
redis 的构建ID |
redis_mode |
redis运行模式: 哨兵模式 / 集群模式 / 独立模式 |
os |
redis宿主机器的操作系统信息 |
arch_bits |
操作系统的架构 32/ 64 |
multiplexing_api |
Redis所用的事件处理机制: kqueue / poll / epoll/ select |
atomicvar_api |
原子处理的API |
gcc_version |
GCC的版本信息 |
process_id |
Redis服务的进程ID |
process_supervised |
是否有进程监控 |
run_id |
Redis 服务器的随机标识符(用于 哨兵 和集群) |
server_time_usec |
服务器时间, 单位: 微秒 |
uptime_in_seconds |
自服务启动以来,经过的秒数 |
uptime_in_days |
自服务启动以来, 经历的天数 |
hz |
redis内部调度(进行关闭timeout的客户端,删除过期key等等)频率,程序规定serverCron每秒运行10次。 |
configured_hz |
配置的频率 |
lru_clock |
自增的时钟,用于LRU管理,该时钟100ms(hz=10,因此每1000ms/10=100ms执行一次定时任务)更新一次。 |
executable |
可执行文件的路径 |
config_file |
服务启动所使用的配置文件路径 |
io_threads_active |
活跃的IO线程数 |
客户端信息
属性 |
含义 |
connected_clients |
当前有多少客户端连接 |
cluster_connections |
集群连接数 |
maxclients |
最大客户端连接数 |
client_recent_max_input_buffer |
客户端最近最大输入缓存, 以字节为单位 |
client_recent_max_output_buffer |
客户端最近最大输出缓存, 以字节为单位 |
blocked_clients |
阻塞客户端数量, 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量 |
tracking_clients |
- |
clients_in_timeout_table |
- |
内存信息
属性 |
含义 |
used_memory |
由 Redis 分配器分配的内存总量,以字节(byte)为单位 |
used_memory_human |
used_memory 可读化表示 |
used_memory_rss |
从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps 等命令的输出一致。 |
used_memory_rss_human |
used_memory_rss 可读化表示 |
used_memory_peak |
Redis 的内存消耗峰值(以字节为单位) |
used_memory_peak_human |
used_memory_peak 可读化表示 |
used_memory_peak_perc |
峰值系统内存使用率 |
used_memory_overhead |
Redis为了维护数据集的内部机制所需的内存开销,包括所有客户端输出缓冲区、查询缓冲区、AOF重写缓冲区和主从复制的backlog |
used_memory_startup |
Redis服务器启动时消耗的内存 |
used_memory_dataset |
数据占用的内存大小,即used_memory-used_memory_overhead |
used_memory_dataset_perc |
数据占用的内存大小的百分比,100%*(used_memory_dataset/(used_memory-used_memory_startup)) |
allocator_allocated |
内存分配器申请的内存,以字节为单位 |
allocator_active |
内存分配器正在使用的内存,以字节为单位 |
allocator_resident |
内存分配器的常驻内存,以字节为单位 |
total_system_memory |
操作系统内存(以字节为单位) |
total_system_memory_human |
total_system_memory可读化表示 |
used_memory_lua |
Lua脚本存储占用的内存(以字节为单位) |
used_memory_lua_human |
used_memory_lua 可读化表示 |
used_memory_scripts |
Lua脚本使用的内存大小(以字节为单位) |
used_memory_scripts_human |
used_memory_scripts 可读化表示 |
number_of_cached_scripts |
缓存的lua脚本数量 |
maxmemory |
Redis实例的最大内存配置(以字节为单位) |
maxmemory_human |
maxmemory 可读化表示 |
maxmemory_policy |
当达到maxmemory时的淘汰策略, 详细参见 : Redis数据淘汰策略 |
allocator_frag_ratio |
内存分配器碎片比例 |
allocator_frag_bytes |
内存分配器碎片大小,以字节为单位 |
allocator_rss_ratio |
从操作系统角度看, 内存分配器碎片比例 |
allocator_rss_bytes |
从操作系统角度看, 内存分配器碎片大小,以字节为单位 |
rss_overhead_ratio |
从操作系统角度看, 开销的比例 |
rss_overhead_bytes |
从操作系统角度看, 开销的大小, 以字节为单位 |
mem_fragmentation_ratio |
1. 碎片率,used_memory_rss/ used_memory,正常情况下稍大于1。 2. 低于1,Redis实例可能会把部分数据交换到硬盘上,内存交换会严重影响Redis的性能,所以应该增加可用物理内存。 3. 大于1.5表示碎片过多。额外碎片的产生是由于Redis释放了内存块,但内存分配器并没有返回内存给操作系统,这个内存分配器是在编译时指定的 4. 内存分配器可以是libc、jemalloc或者tcmalloc。 |
mem_fragmentation_bytes |
内存碎片大小(字节表示) |
mem_not_counted_for_evict |
不应驱逐的内存大小,以字节为单位 |
mem_replication_backlog |
复制backlog的内存大小, 以字节为单位 |
mem_clients_slaves |
- |
mem_clients_normal |
- |
mem_aof_buffer |
1.内存分配器,Redis支持glibc’s malloc、jemalloc11、tcmalloc几种不同的内存分配器,每个分配器在内存分配和碎片上都有不同的实现。 2.不建议普通管理员修改Redis默认内存分配器,因为这需要完全理解这几种内存分配器的差异,也要重新编译Redis。 |
active_defrag_running |
defrag:表示内存碎片整理, 0表示没有活动的defrag任务正在运行,1表示有活动的defrag任务正在运行 |
lazyfree_pending_objects |
延迟释放的挂起对象 |
lazyfreed_objects |
延迟释放的对象数量 |
数据淘汰策略
策略名称 |
淘汰规则 |
volatile-lru |
从设置了过期时间的数据集中,选择最近最久未使用的数据释放 |
allkeys-lru |
从数据集中(包括设置过期时间以及未设置过期时间的数据集中),选择最近最久未使用的数据释放 |
volatile-random |
从设置了过期时间的数据集中,随机选择一个数据进行释放 |
allkeys-random |
从数据集中(包括了设置过期时间以及未设置过期时间)随机选择一个数据进行入释放 |
volatile-ttl |
从设置了过期时间的数据集中,选择马上就要过期的数据进行释放操作 |
noeviction |
不删除任意数据(但redis还会根据引用计数器进行释放),这时如果内存不够时,会直接返回错误。 |
主从复制信息
公共属性
属性 |
含义 |
role |
节点角色 master 主节点 slave 从节点 |
repl_backlog_active |
复制缓冲区是否开启 0 - 未开启 1 - 已开启 |
repl_backlog_size |
复制缓冲区大小(以字节为单位) |
repl_backlog_first_byte_offset |
复制缓冲区里偏移量的大小 |
repl_backlog_histlen |
此值等于 master_repl_offset - repl_backlog_first_byte_offset,该值不会超过repl_backlog_size的大小 |
主节点属性
属性 |
含义 |
connected_slaves |
连接到此主节点的从节点数量 |
master_failover_state |
故障转移状态 no-failover 无故障转移 |
master_replid |
实例启动的随机字符串 |
master_replid2 |
实例启动的随机字符串2 |
master_repl_offset |
主从同步偏移量 |
second_repl_offset |
主从同步偏移量2 |
从节点属性
属性 |
含义 |
master_host |
主节点host |
master_port |
主节点端口 |
master_link_status |
与主节点连接状态 up - 正常连接 down - 断开 |
master_last_io_seconds_ago |
主节点与从节点最后通信的时间间隔, 单位: s |
master_sync_in_progress |
从节点是否正在全量同步主节点rdb文件 0 - 否 1 - 是 |
slave_repl_offset |
复制偏移量 |
slave_priority |
从节点优先级 |
slave_read_only |
从节点是否只读 0 - 否 1 - 是 |
从节点列表
从节点会以 slave0、slave1….这种 形式 返回, 其格式为 slave0:ip=x.x.x.x,port=6379,state=online,offset=123456,lag=1
- slave0: 从库的标记
- ip: 从库IP
- port: 从库端口
- state: 从库状态
- offset: 主从同步偏移量
- lag: 主从同步消息堆积量
CPU信息
属性 |
含义 |
used_cpu_sys |
Redis主进程在内核态所占用CPU时钟总和 |
used_cpu_user |
Redis主进程在用户态所占用CPU时钟总和 |
used_cpu_sys_children |
Redis子进程在内核态所占用CPU时钟总和 |
used_cpu_user_children |
Redis子进程在用户态所占用CPU时钟总和 |
集群信息
属性 |
含义 |
cluster_enabled |
集群是否开启 0 - 否 1 - 是 |
持久化信息
属性 |
含义 |
loading |
服务器是否正在进行持久化 0 - 否 1 -是 |
current_cow_size |
- |
current_cow_size_age |
- |
current_fork_perc |
- |
current_save_keys_processed |
- |
current_save_keys_total |
- |
rdb_changes_since_last_save |
离最近一次成功生成rdb文件,写入命令的个数,即有多少个写入命令没有持久化 |
rdb_bgsave_in_progress |
服务器是否正在创建rdb文件 0 - 否 1 - 是 |
rdb_last_save_time |
最近一次创建rdb文件的时间戳,单位秒 |
rdb_last_bgsave_status |
最近一次rdb持久化是否成功 ok 成功 |
rdb_last_bgsave_time_sec |
最近一次成功生成rdb文件耗时秒数 |
rdb_current_bgsave_time_sec |
如果服务器正在创建rdb文件,那么这个字段记录的就是当前的创建操作已经耗费的秒数 |
rdb_last_cow_size |
RDB过程中父进程与子进程相比执行了多少修改(包括读缓冲区,写缓冲区,数据修改等)。 |
aof_enabled |
是否开启了AOF 0 - 否 1 - 是 |
aof_rewrite_in_progress |
标识aof的rewrite操作是否在进行中 0 - 否 1- 是 |
aof_rewrite_scheduled |
rewrite任务计划,当客户端发送bgrewriteaof指令,如果当前rewrite子进程正在执行,那么将客户端请求的bgrewriteaof变为计划任务,待aof子进程结束后执行rewrite |
aof_last_rewrite_time_sec |
最近一次aof rewrite耗费的时长 |
aof_current_rewrite_time_sec |
如果rewrite操作正在进行,则记录所使用的时间,单位秒 |
aof_last_bgrewrite_status |
上次 bgrewrite aof 操作的状态 ok 成功 |
aof_last_write_status |
上次aof写入状态 |
aof_last_cow_size |
AOF过程中父进程与子进程相比执行了多少修改(包括读缓冲区,写缓冲区,数据修改等) |
io_threaded_reads_processed |
读取线程数 |
io_threaded_writes_processed |
写入线程数 |
数据库信息
数据格式为 : db0:keys=3,expires=0,avg_ttl=0
- db0: 0号数据库, 对应 select 0
- keys: 数据库中key的数量
- expires: 过期的key的数量
- avg_ttl: key平均有效期
指令调用信息
数据格式为 : cmdstat_set:calls=19,usec=195,usec_per_call=10.26,rejected_calls=0,failed_calls=2
- cmdstat_set: set命令的统计信息
- calls: 累计调用该命令的次数
- usec: 调用该命令的累计耗时,单位微秒
- usec_per_call: 调用该命令的平均耗时
- rejected_call: 拒绝执行的次数
- failed_calls: 调用失败的次数
服务运行状态
属性 |
含义 |
total_connections_received |
所有连接数, 累积值, 只增不减, 连接断开也不会减少 |
total_commands_processed |
服务器执行的命令数 累积值, 只增不减 |
instantaneous_pps_per_sec |
每秒执行的命令数 |
total_net_input_bytes |
网络流量-流入 以字节(byte)为单位 |
total_net_output_bytes |
网络流量-流出 以字节(byte)为单位 |
instantaneous_input_kbps |
网络流量-流入-KB/s |
instantaneous_output_kbps |
网络流量-流出-KB/s |
rejected_connections |
因达到最大连接数而被拒绝的连接数量 |
sync_full |
主从全量同步的次数 |
sync_partial_ok |
主从部分同步成功的次数 |
sync_partial_err |
主从部分同步失败次数 |
expired_keys |
过期key的数量 |
expired_stale_perc |
过期过时的百分比 |
expired_time_cap_reached_count |
过期时间达到上限的数量 |
expire_cycle_cpu_milliseconds |
过期循环CPU毫秒数 |
evicted_keys |
超过 maxmemory 之后, 剔除的 key 的数量 |
keyspace_hits |
访问命中次数 |
keyspace_misses |
访问未命中次数 |
pubsub_channels |
当前频道数量 发布 - 订阅 模式 |
pubsub_patterns |
当前使用中的模式数量 |
latest_fork_usec |
最近一次fork 操作消耗的时间, 单位微秒 |
total_forks |
fork 的总次数 |
migrate_cached_sockets |
记录当前 Redis 正在 migrate 操作的目标 Redis 个数, 例如 A 向 B 和 C 执行 migrate操作 |
slave_expires_tracked_keys |
从实例到期的 key 的数量 |
active_defrag_hits |
主动碎片整理命中次数 |
active_defrag_misses |
主动碎片整理未命中次数 |
active_defrag_key_hits |
主动整理碎片, key命中次数 |
active_defrag_key_misses |
主动整理碎片, key未命中次数 |
tracking_total_keys |
key 查询的总数 |
tracking_total_items |
item查询的总数 |
tracking_total_prefixes |
前缀查询的总数 |
unexpected_error_replies |
unexpected 异常响应次数 |
total_error_replies |
异常响应总次数 |
dump_payload_sanitizations |
- |
total_reads_processed |
正在读取的请求数 |
total_writes_processed |
正在写入的请求数 |
io_threaded_reads_processed |
正在读取的线程数 |
io_threaded_writes_processed |
正在写入的线程数 |
错误信息
数据格式 errorstat_ERR:count=2
- errorstat_ERR: 错误的类型
- count: 次错误类型累计出现的次数
加载的模块信息
数据格式
获取相关信息的GO实现
GO语言获取Redis Info信息
全部信息图