Redis中的info命令
程序员文章站
2024-01-08 15:23:52
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: ......
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 #redis所使用的事件处理机制 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 #以分钟为单位进行自增的时钟,用于lru管理 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 的值可以验证这种情况是否发生。
转载自:https://www.cnblogs.com/unsigned1995/p/11299695.html