Redis info 命令
命令格式:INFO [section]
info 指令显示的信息分为 9 大模块:
server
记录了 Redis 服务器的信息
clients
记录了已连接客户端的信息
memory
记录了服务器的内存信息
persistence
记录了跟 RDB 持久化和 AOF 持久化有关的信息
stats
记录了一般统计信息
replication
记录了主/从复制的相关信息
cpu
记录了 CPU的计算量统计信息
cluster
记录了和集群有关的信息
keyspace
记录了数据库相关的统计信息1.
PS:不同版本的 Redis 可能对返回的一些属性进行了增加或删减。
关键优先级
监控Redis时,不同的指标反映了系统不同层面的健康状况和性能。根据这些指标的重要性和潜在的影响,我们可以将问题做出优先分级
- 高优先级:内存、当前连接数、CPU 使用率、持久化 fork 耗时等直接影响 Redis 可用性的关键指标。
- 中优先级:影响性能但不会立即导致不可用的指标,如命中率、网络流量等。
- 低优先级:较长时间才会产生影响的指标,如淘汰键数量、复制偏移量等。
根据以上优先级来设置监控告警和处理流程,有助于在关键问题出现时第一时间发现并处理,确保 Redis 的高效和稳定运行。
info Server 服务器
属性名称 | 初始值 | 属性含义 | 星标 |
---|
redis_version | 5.0.3 | Redis 服务器版本 | |
redis_git_sha1 | 00000000 | Git SHA1 | |
redis_git_dirty | 0 | Git dirty flag | |
redis_build_id | 179735ca33dc5000 | 构建 ID | |
redis_mode | standalone | 运行模式:单机(集群) | AAA |
os | Linux 3.10.0-1127.19.1.el7.x86_64 x86_64 | Redis 服务所在的操作系统 | |
arch_bits | 64 | 架构(32 或 64 位) | |
multiplexing_api | epoll | Redis使用的事件循环机制 epoll(select and poll 对比,epoll性能好) | ? |
atomicvar_api | atomic-builtin | Redis 使用的 Atomicvar API | |
gcc_version | 8.2.0 | gcc 版本 | |
process_id | 1 | Redis 服务进程的PID | |
run_id | 8dc49c2713c9be58143a053c5333d587484b3f60 | Redis 服务器的随机标识符(用于 Sentinel 和集群) | |
tcp_port | 6379 | TCP/IP 监听端口 | |
uptime_in_seconds | 26525350 | Redis 服务器启动后的秒数 | |
uptime_in_days | 307 | Redis服务器启动后的天数 | |
hz | 10 | Redis服务当前调度频率(进行关闭timeout的客户端,删除过期key等等),serverCron每秒运行10次 | |
configured_hz | 10 | Redis服务的配置频率 | |
lru_clock | 8454792 | 自增的时钟,用于LRU管理,该时钟100ms(hz=10,因此每1000ms/10=100ms执行一次定时任务)更新一次 | |
executable | /data/redis-server | Redis 可执行文件的路径 | |
config_file | /etc/redis.conf | Redis 配置文件的路径 | |
info Clients 客户端
属性名称 | 初始值 | 属性含义 | 星标 |
---|
connected_clients | 1 | 客户端连接数(不包括来自从库的连接) | AAAAA |
client_recent_max_input_buffer | 2 | 当前客户端连接中最长的输出列表 | AAA |
client_recent_max_output_buffer | 0 | 当前客户端连接中最大的输入缓冲区 | AAA |
blocked_clients | 0 | 由于阻塞调用(BLPOP、BRPOP、BRPOPLPUSH)而等待的客户端的数量 | AAA |
info Memory 内存
属性名称 | 初始值 | 属性含义 | 星标 |
---|
used_memory | 855512 | Redis 使用它的内存分配器(可以是标准的 libc、jemalloc 或 tcmalloc 分配器)分配的内存总量,以字节为单位 | |
used_memory_human | 835.46K | Redis 使用它的内存分配器分配的内存总量,显示为用户易于阅读的格式 | AAAAA |
used_memory_rss | 9764864 | 操作系统所看到的为 Redis 分配的内存总量,即常驻内存。这个内存总量是由诸如 top(1) 和 ps(1) 之类的工具输出一致。 | |
used_memory_rss_human | 9.31M | 操作系统所看到的为 Redis 分配的内存总量,显示为用户易于阅读的格式 | AAAAA |
used_memory_peak | 875400 | Redis 消耗的内存峰值,以字节为单位 | |
used_memory_peak_human | 854.88K | Redis 消耗的内存峰值,显示为用户易于阅读的格式 | |
used_memory_peak_perc | 97.73 | 使用内存达到峰值内存的百分比,即(used_memory/ used_memory_peak) x 100% | |
used_memory_overhead | 840742 | 服务器为管理其内部数据结构而分配的所有开销的字节总和 | A |
used_memory_startup | 790936 | Redis 在启动时消耗的初始内存量(以字节为单位) | A |
used_memory_dataset | 14770 | 数据占用的内存大小,即used_memory-used_memory_overhead | AAAA |
used_memory_dataset_perc | 22.87% | 数据占用的内存大小的百分比,100% x (used_memory_dataset/(used_memory-used_memory_startup)) | AAAA |
allocator_allocated | 1258648 | 分配器分配的内存 | |
allocator_active | 1564672 | 分配器活跃的内存 | |
allocator_resident | 8282112 | 分配器常驻的内存 | |
total_system_memory | 1927176192 | 系统内存总量,以字节为单位 | |
total_system_memory_human | 1.79G | 系统内存总量,显示为用户易于阅读的格式 | |
used_memory_lua | 37888 | Lua引擎使用的字节数 | |
used_memory_lua_human | 37.00K | Lua引擎使用的字节数,显示为用户易于阅读的格式 | |
used_memory_scripts | 0 | Lua脚本使用的字节数 | |
used_memory_scripts_human | 0B | Lua脚本使用的字节数,显示为用户易于阅读的格式 | |
number_of_cached_scripts | 0 | Redis中已加载的Lua脚本数量 | AA |
maxmemory | 0 | edis 能够使用的最大内存上限(0 表示没有限制),以字节为单位 | |
maxmemory_human | 0B | Redis 能够使用的最大内存上限,显示为用户易于阅读的格式 | |
maxmemory_policy | noeviction | Redis 使用的内存回收策略 | |
allocator_frag_ratio | 1.24 | 分配器的碎片率 | |
allocator_frag_bytes | 306024 | 分配器的碎片大小(以字节为单位) | |
allocator_rss_ratio | 5.29 | 分配器常驻内存比例 | |
allocator_rss_bytes | 6717440 | 分配器的常驻内存大小(以字节为单位) | |
rss_overhead_ratio | 1.18 | 常驻内存开销比例 | |
rss_overhead_bytes | 1482752 | 常驻内存开销大小(以字节为单位) | |
mem_fragmentation_ratio | 12.00 | 内存碎片率,used_memory_rss 和 used_memory 之间的比率 | |
mem_fragmentation_bytes | 8951344 | 内存碎片的大小(以字节为单位) | |
mem_not_counted_for_evict | 0 | 被驱逐的内存大小 | |
mem_replication_backlog | 0 | Redis复制积压缓冲区内存 | |
mem_clients_slaves | 0 | Redis节点客户端消耗内存 | |
mem_clients_normal | 49694 | Rediis常规客户端消耗内存 | |
mem_aof_buffer | 0 | AOF使用内存 | |
mem_allocator | jemalloc-5.1.0 | 内存分配器(在编译时选择) | |
active_defrag_running | 0 | 碎片整理是否处于活动状态 | |
lazyfree_pending_objects | 0 | 等待释放的对象数(由于使用ASYNC选项调用UNLINK或FLUSHDB和FLUSHALL)0-不存在延迟释放的挂起对象 | |
info Persistence 持久化
属性名称 | 初始值 | 属性含义 | 星标 |
---|
loading | 0 | 服务器是否正在载入持久化文件 | |
rdb_changes_since_last_save | 0 | 离最近一次成功生成rdb文件,写入命令的个数,即有多少个写入命令没有持久化 | |
rdb_bgsave_in_progress | 0 | 服务器是否正在创建rdb文件 | |
rdb_last_save_time | 1632922186 | 离最近一次成功创建rdb文件的时间戳。当前时间戳 - rdb_last_save_time=多少秒未成功生成rdb文件 | |
rdb_last_bgsave_status | ok | 最近一次rdb持久化是否成功 | |
rdb_last_bgsave_time_sec | 0 | 最近一次成功生成rdb文件耗时秒数 | |
rdb_current_bgsave_time_sec | -1 | 如果正在创建 RDB 文件,记录当前的创建操作已经耗费的秒数 | |
rdb_last_cow_size | 4526080 | 上次rbd保存操作期间写时复制分配的字节大小 | |
aof_enabled | 0 | 是否开启了aof | |
aof_rewrite_in_progress | 0 | aof的rewrite操作是否在进行中 | |
aof_rewrite_scheduled | 0 | 记录了 RDB 文件创建完毕之后,是否需要执行 AOF 重写操作 | |
aof_last_rewrite_time_sec | -1 | 最近一次创建 AOF 文件耗费的秒数 | |
aof_current_rewrite_time_sec | -1 | 如果正在创建 AOF 文件,那么记录当前的创建操作耗费的秒数 | |
aof_last_bgrewrite_status | ok | 最近一次创建 bgrewrite 文件的状态,是成功还是失败 | |
aof_last_write_status | ok | AOF的最后写入操作的状态,是成功还是失败 | |
aof_last_cow_size | 0 | 上一次AOF保存操作期间分配的字节大小(以字节为单位) | |
info Stats 统计
属性名称 | 初始值 | 属性含义 | 星标 |
---|
total_connections_received | 115 | Redis 服务连接过的总数。如果连接过多,说明短连接严重或连接池使用有问题,需调研代码的连接设置 | AAAAA |
total_commands_processed | 63 | Redis 服务运行命令的总数 | |
instantaneous_ops_per_sec | 0 | Redis当前的QPS,Redis内部较实时的每秒执行的命令数 | AAAA |
total_net_input_bytes | 6633 | Redis 网络入口流量 数据总量,以字节为单位 | |
total_net_output_bytes | 38699 | Redis 网络出口流量 数据总量,以字节为单位 | |
instantaneous_input_kbps | 0.00 | Redis 网络入口kps 每秒钟接收数据的速率,以 kbps 为单位。 | |
instantaneous_output_kbps | 0.00 | Redis 网络出口kps 每秒钟发送数据的速率,以 kbps 为单位。 | |
rejected_connections | 0 | Redis 连接个数达到maxclients限制,拒绝新连接的个数 | |
sync_full | 0 | Redis 主机和从机进行完全同步的次数。 | |
sync_partial_ok | 0 | Redis 主从部分同步成功次数 服务器接受 PSYNC 请求的次数。 | |
sync_partial_err | 0 | Redis 主从部分同步失败次数 服务器拒绝 PSYNC 请求的次数。 | |
expired_keys | 0 | 自启动以来过期的key的数量 | |
expired_stale_perc | 0.00 | 过期的比率 | |
expired_time_cap_reached_count | 0 | 由于maxmemory限制,而被回收内存的键的总数 | |
evicted_keys | 0 | 过期的比率 | |
keyspace_hits | 0 | 在主字典中成功查找到键的次数 命中次数。 | |
keyspace_misses | 0 | 同上,未命中的key的个数 | |
pubsub_channels | 0 | 客户端订阅的发布/订阅频道的总数量 | |
pubsub_patterns | 0 | 客户端订阅的发布/订阅模式的总数量 | |
latest_fork_usec | 1194 | 最近一次fork操作阻塞redis进程的耗时数,单位微秒 | |
migrate_cached_sockets | 0 | 是否已经缓存了到该地址的最近的连接 | |
slave_expires_tracked_keys | 0 | 从实例到期key数量 | |
active_defrag_hits | 0 | 通过激活碎片整理过程,执行的值重新分配的数量 主动碎片整理命中次数 | |
active_defrag_misses | 0 | 通过激活碎片整理过程,启动的中止值重新分配数 主动碎片整理未命中次数 | |
active_defrag_key_hits | 0 | 主动进行碎片整理的键数 主动碎片整理key命中次数 | |
active_defrag_key_misses | 0 | 主动进行碎片整理过程跳过的键数 主动碎片整理key未命中次数 | |
info Replication 主从复制
属性名称 | 初始值 | 属性含义 | 星标 |
---|
role | master | 实例角色(master、slave),一个从服务器也可能是另一个服务器的主服务器 | |
connected_slaves | 0 | 连接slave实例的个数 | |
master_replid | 896c54182f34f6ffb834d0bf13acf34cd38b04bc | Redis 服务器的复制 ID | |
master_replid2 | 0000000000000000000000000000000000000000 | 辅助复制 ID,用于故障转移后的 PSYNC | |
master_repl_offset | 0 | 主从同步偏移量 | |
second_repl_offset | -1 | 主从同步偏移量2,此值如果和上面的offset相同说明主从一致没延迟 | |
repl_backlog_active | 0 | 表示 Redis 服务器是否为部分同步开启复制备份日志(backlog)功能 复制缓冲区状态 | |
repl_backlog_size | 1048576 | 复制缓冲区的大小 以字节为单位 | |
repl_backlog_first_byte_offset | 0 | 复制缓冲区的偏移量,标识当前缓冲区可用范围 | |
repl_backlog_histlen | 0 | 复制缓冲区中数据的大小以字节为单位 | |
info CPU
属性名称 | 初始值 | 属性含义 | 星标 |
---|
used_cpu_sys | 14080.307066 | Redis服务消耗的系统cpu | |
used_cpu_user | 13769.822388 | Redis服务消耗的用户cpu | |
used_cpu_sys_children | 0.000000 | 后台进程占用的系统cpu | |
used_cpu_user_children | 0.001071 | 后台进程占用的用户cpu | |
info Cluster 集群
属性名称 | 初始值 | 属性含义 | 星标 |
---|
cluster_enabled | 0 | 实例是否开启了集群模式 | |
info Keyspace
属性名称 | 初始值 | 属性含义 | 星标 |
---|
db0 | keys=2,expires=0,avg_ttl=0 | 关于每个数据库的主字典的统计数据。这些统计数据包括键的数量、具有过期时间的键的数量和键的平均生存时间 | |
引自:https://redis.io/commands/info