• 进入"运维那点事"后,希望您第一件事就是阅读“关于”栏目,仔细阅读“关于Ctrl+c问题”,不希望误会!

Redis info输出信息说明

Redis 彭东稳 7年前 (2016-11-23) 25761次浏览 已收录 0个评论

最近用zabbix监控,在写Redis的性能数据和服务状态监控,性能数据这块用info命令就可以获取的比较全面了。info的输出结果是分几块的,有Servers、Clients、Memory等等,通过info后面接这些参数,可以指定输出某一块数据。下面是针对info的输出在旁边注释了,可能会存在错误,以后了解多了再慢慢完善。

# Server

redis_version:3.2.0

redis_git_sha1:00000000

redis_git_dirty:0

redis_build_id:e310187663cd14c5

redis_mode:standalone

redis的运行实例,基本不是standalone就是cluster。

os:Linux 2.6.32-573.el6.x86_64 x86_64

系统内核版本及架构。

arch_bits:64

系统架构,目前基本都是64位。

multiplexing_api:epoll

redis的事件循环机制,epoll目前是Linux系统下的最优的事件通知机制,包括Nginx也是使用epoll,还有一些如select、poll等事件通知机制。

gcc_version:4.6.3

process_id:18926

redis进程号。

run_id:df8ad7574f3ee5136e8be94aaa6602a0079704cc

标识redis server的随机值。

tcp_port:6379

redis实例运行的端口。

uptime_in_seconds:155982

redis server启动的时间(单位s)。

uptime_in_days:1 

redis server启动的时间(单位d)。

lru_clock:3483895

Clock incrementing every minute, for LRU management(不清楚是如何计算的)。

executable:/usr/local/bin/redis-server

redis执行程序。

config_file:/apps/redis/conf/redis-6379.conf

配置文件位置。

# Clients

connected_clients:3

连接的客户端数。

client_longest_output_list:0

当前客户端连接的最大输出列表。

client_biggest_input_buf:0

当前客户端连接的最大输入buffer。

blocked_clients:0

被阻塞的客户端数。

# Memory

used_memory:2421592

used_memory_human:2.31M

使用内存,单位B。后面是human read显示使用内存。

used_memory_rss:10039296

used_memory_rss_human:9.57M

系统给redis分配的内存(即常驻内存)。

used_memory_peak:2462720

used_memory_peak_human:2.35M

内存使用的峰值大小。

total_system_memory:101393244160

total_system_memory_human:94.43G

系统内存大小。

used_memory_lua:37888

used_memory_lua_human:37.00K

lua引擎使用的内存。

maxmemory:4000000000

maxmemory_human:3.73G

此实例的最大可用内存。

maxmemory_policy:volatile-lru

当前使用的key管理策略。

mem_fragmentation_ratio:4.15

used_memory_rss/used_memory比例,一般情况下,used_memory_rss略高于used_memory,当内存碎片较多时,则mem_fragmentation_ratio会较大,可以反映内存碎片是否很多。

mem_allocator:jemalloc-4.0.3

内存分配器,redis默认使用jemalloc进行编译安装,如果你的系统没有安装jemalloc,那么你可能会看到内存分配器为libc,系统自带的内存管理器。

# Persistence

loading:0

rdb_changes_since_last_save:6

自上次dump后rdb的改动。

rdb_bgsave_in_progress:0

标识rdb save是否在进行中。

rdb_last_save_time:1479723963

上次save的时间戳。

rdb_last_bgsave_status:ok

上次的save操作状态。

rdb_last_bgsave_time_sec:0

上次rdb save操作使用的时间(单位s)。

rdb_current_bgsave_time_sec:-1

如果rdb save操作正在进行,则是所使用的时间。

aof_enabled:1

是否开启aof(1为开启,0为关闭),默认没开启。

aof_rewrite_in_progress:0

标识aof的rewrite操作是否在进行中。

aof_rewrite_scheduled:0

标识aof是否将要在rdb save操作结束后执行。

aof_last_rewrite_time_sec:-1

上次rewrite操作使用的时间(单位s)

aof_current_rewrite_time_sec:-1

如果rewrite操作正在进行,则记录所使用的时间。

aof_last_bgrewrite_status:ok

上次rewrite操作的状态。

开启aof后增加的一些info信息。

aof_current_size:157

aof当前文件大小,减去aof_base_size就是上次rewrite至今的增长大小。

aof_base_size:0

aof上次rewrite后的文件大小。

aof_pending_rewrite:0

同上面的aof_rewrite_scheduled。

aof_buffer_length:0

aof buffer的大小。

aof_rewrite_buffer_length:0

aof rewrite buffer的大小。

aof_pending_bio_fsync:0

后台IO队列中等待fsync任务的个数。

aof_delayed_fsync:0

延迟的fsync计数器,此值大于0说明AOF写入有阻塞,进而会造成用户请求有阻塞。

# Stats

total_connections_received:35652

自启动起连接过的总数。

total_commands_processed:190670

自启动起运行命令的总数。

instantaneous_ops_per_sec:0

每秒执行的命令个数。

total_net_input_bytes:6240289

total_net_output_bytes:86873174

自启动后总的网络输入输出字节数。

instantaneous_input_kbps:0.02

instantaneous_output_kbps:0.00

当前的输入输出带宽。

rejected_connections:0

因为最大客户端连接数限制,而导致被拒绝连接的个数。

sync_full:1

sync_partial_ok:0

sync_partial_err:0

expired_keys:0

自启动起过期的key的总数。

expired_stale_perc:0.6

过期key的占比。

expired_time_cap_reached_count:0

expire_cycle_cpu_milliseconds:0

evicted_keys:0

因为内存大小限制,而被驱逐出去的键的个数。

keyspace_hits:0

key的命中次数,相当于get请求。

keyspace_misses:0

同上,未命中的key的个数。

pubsub_channels:0

发布/订阅频道数。

pubsub_patterns:0

发布/订阅模式数。

latest_fork_usec:0

上次的fork操作使用的时间(单位ms)。

PS:pubsub是一种消息传送的方式,分为频道和模式两种。消息不支持持久化,消息方中断后再连接,前面的消息就会没了。频道是指通过SUBSCRIBE指定一个固定的频道来订阅,模式是指通过PSUBSCRIBE模式匹配来订阅相关的匹配给定模式的频道。

# Replication

role:master

此实例所担当的角色,master或者为slave。

connected_slaves:1

连接的从库数目。

slave0:ip=10.0.30.66,port=6552,state=online,offset=217130,lag=1

如果有从库,会有这么一条从库连接信息。

master_repl_offset:217130

# master当前的复制

—————————–

role:slave

当前实例角色。

master_host:127.0.0.1

连接master的IP地址。

master_port:6379

连接master的端口号。

master_link_status:up

master_last_io_seconds_ago:4

master_sync_in_progress:0

标识主redis正在同步到从redis。

slave_priority:100

从库优先级。

slave_read_only:1

从库只读。

connected_slaves:0

# CPU

used_cpu_sys:0.00

redis server的sys cpu使用率。

used_cpu_user:0.12

redis server的user cpu使用率。

used_cpu_sys_children:0.00

后台进程的sys cpu使用率。

used_cpu_user_children:0.00

后台进程的user cpu使用率。

# Keyspace

db0:keys=3,expires=0,avg_ttl=0

db1:keys=3,expires=0,avg_ttl=0

每个数据库的大概信息统计。

其中 keys 表示当前 key 的总数,包含未设置过期时间的 key 数量和已设置过期时间但未被销毁的 key 数量,已设置过期时间且已被销毁的 key 不会统计在这里。命令 dbsize 统计的 key 原理与这里显示的一致。而 keys * 统计的是当前 db 有效的 key,不包含过期还未被销毁的 key。

而 expires 表示设置了过期时间的 key 数量,包含未过期 key 和已过期未被销毁的 key,已销毁的 key 不在统计。

<参考>

http://redis.io/commands/info


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (4)
[资助本站您就扫码 谢谢]
分享 (0)

您必须 登录 才能发表评论!