Redis精通系列——info 指令用法

11、info CPU

12、info cluster

13、info keyspace


1、简介


Redis提供了info指令,它会返回关于Redis服务器的各种信息和统计数值。在使用Redis时,时常会遇到一些疑难杂症需要我们去排查,这个时候我们可以通过info指令来获取Redis的运行状态,然后进行问题的排查。

通过给定可选的参数 section ,可以让命令只返回某一部分的信息:

  1. server: Redis服务器的一般信息

  2. clients: 客户端的连接部分

  3. memory: 内存消耗相关信息

  4. persistence: RDB和AOF相关信息

  5. stats: 一般统计

  6. replication: 主/从复制信息

  7. cpu: 统计CPU的消耗

  8. commandstats: Redis命令统计

  9. cluster: Redis集群信息

  10. keyspace: 数据库的相关统计

它也可以采取以下值:

  • all: 返回所有信息

  • default: 值返回默认设置的信息

如果没有使用任何参数时,默认为default,返回所有的信息。

2、info/info all


返回Redis服务所有的信息

# Server

redis_version:6.2.4

redis_git_sha1:00000000

redis_git_dirty:0

redis_build_id:fa652e749408dcfd

redis_mode:standalone

os:Linux 3.10.0-327.el7.x86_64 x86_64

arch_bits:64

multiplexing_api:epoll

atomicvar_api:c11-builtin

gcc_version:9.3.1

process_id:4617

process_supervised:no

run_id:9662797d01b55345cd6cabad38d102e27db19e66

tcp_port:6379

server_time_usec:1632494557942546

uptime_in_seconds:4

uptime_in_days:0

hz:10

configured_hz:10

lru_clock:5104605

executable:/usr/local/soft/redis-6.2.4/src/redis-server

config_file:/usr/local/soft/redis-6.2.4/redis.conf

io_threads_active:0

# Clients

connected_clients:1

cluster_connections:0

maxclients:10000

client_recent_max_input_buffer:16

client_recent_max_output_buffer:0

blocked_clients:0

tracking_clients:0

clients_in_timeout_table:0

# Memory

used_memory:874728

used_memory_human:854.23K

used_memory_rss:10207232

used_memory_rss_human:9.73M

used_memory_peak:932800

used_memory_peak_human:910.94K

used_memory_peak_perc:93.77%

used_memory_overhead:830808

used_memory_startup:810168

used_memory_dataset:43920

used_memory_dataset_perc:68.03%

allocator_allocated:1036080

allocator_active:1380352

allocator_resident:3932160

total_system_memory:1913507840

total_system_memory_human:1.78G

used_memory_lua:37888

used_memory_lua_human:37.00K

used_memory_scripts:0

used_memory_scripts_human:0B

number_of_cached_scripts:0

maxmemory:104857600

maxmemory_human:100.00M

maxmemory_policy:volatile-lfu

allocator_frag_ratio:1.33

allocator_frag_bytes:344272

allocator_rss_ratio:2.85

allocator_rss_bytes:2551808

rss_overhead_ratio:2.60

rss_overhead_bytes:6275072

mem_fragmentation_ratio:12.27

mem_fragmentation_bytes:9375272

mem_not_counted_for_evict:0

mem_replication_backlog:0

mem_clients_slaves:0

mem_clients_normal:20496

mem_aof_buffer:0

mem_allocator:jemalloc-5.1.0

active_defrag_running:0

lazyfree_pending_objects:0

lazyfreed_objects:0

# Persistence

loading:0

current_cow_size:0

current_cow_size_age:0

current_fork_perc:0.00

current_save_keys_processed:0

current_save_keys_total:0

rdb_changes_since_last_save:0

rdb_bgsave_in_progress:0

rdb_last_save_time:1632494553

rdb_last_bgsave_status:ok

rdb_last_bgsave_time_sec:-1

rdb_current_bgsave_time_sec:-1

rdb_last_cow_size:0

aof_enabled:0

aof_rewrite_in_progress:0

aof_rewrite_scheduled:0

aof_last_rewrite_time_sec:-1

aof_current_rewrite_time_sec:-1

aof_last_bgrewrite_status:ok

aof_last_write_status:ok

aof_last_cow_size:0

module_fork_in_progress:0

module_fork_last_cow_size:0

# Stats

total_connections_received:1

total_commands_processed:1

instantaneous_ops_per_sec:0

total_net_input_bytes:31

total_net_output_bytes:20324

instantaneous_input_kbps:0.00

instantaneous_output_kbps:0.00

rejected_connections:0

sync_full:0

sync_partial_ok:0

sync_partial_err:0

expired_keys:0

expired_stale_perc:0.00

expired_time_cap_reached_count:0

expire_cycle_cpu_milliseconds:0

evicted_keys:0

keyspace_hits:0

keyspace_misses:0

pubsub_channels:0

pubsub_patterns:0

latest_fork_usec:0

total_forks:0

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

tracking_total_keys:0

tracking_total_items:0

tracking_total_prefixes:0

unexpected_error_replies:0

total_error_replies:0

dump_payload_sanitizations:0

total_reads_processed:2

total_writes_processed:1

io_threaded_reads_processed:0

io_threaded_writes_processed:0

# Replication

role:master

connected_slaves:0

master_failover_state:no-failover

master_replid:5b43385d46f4a601c025cb2c4ce5706b0b77db86

master_replid2:0000000000000000000000000000000000000000

master_repl_offset:0

second_repl_offset:-1

repl_backlog_active:0

repl_backlog_size:1048576

repl_backlog_first_byte_offset:0

repl_backlog_histlen:0

# CPU

used_cpu_sys:0.030666

used_cpu_user:0.000000

used_cpu_sys_children:0.000000

used_cpu_user_children:0.000000

used_cpu_sys_main_thread:0.030570

used_cpu_user_main_thread:0.000000

# Modules

# Errorstats

# Cluster

cluster_enabled:0

# Keyspace

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

3、info server


下面是所有 server 相关的信息

| 参数名 | 含义 |

| — | — |

| redis_version | Redis 服务器版本 |

| redis_git_sha1 | Git SHA1 |

| redis_git_dirty | Git dirty flag |

| redis_build_id | 构建ID |

| redis_mode | 服务器模式(standalone,sentinel或者cluster) |

| os | Redis 服务器的宿主操作系统 |

| arch_bits | 架构(32 或 64 位) |

| multiplexing_api | Redis 所使用的事件处理机制 |

| atomicvar_api | Redis使用的Atomicvar API |

| gcc_version | 编译 Redis 时所使用的 GCC 版本 |

| process_id | 服务器进程的 PID |

| run_id | Redis 服务器的随机标识符(用于 Sentinel 和集群) |

| tcp_port | TCP/IP 监听端口 |

| uptime_in_seconds | 自 Redis 服务器启动以来,经过的秒数 |

| uptime_in_days | 自 Redis 服务器启动以来,经过的天数 |

| hz | 服务器的频率设置 |

| lru_clock | 以分钟为单位进行自增的时钟,用于 LRU 管理 |

| executable | 服务器的可执行文件路径 |

| config_file | 配置文件路径 |

image.png

4、info clients


下面是所有 clients 相关的信息

| 参数名 | 含义 |

| — | — |

| connected_clients | 已连接客户端的数量(不包括通过从属服务器连接的客户端) |

| client_longest_output_list | 当前连接的客户端当中,最长的输出列表 |

| client_biggest_input_buf | 当前连接的客户端当中,最大输入缓存 |

| blocked_clients | 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量 |

image.png

5、info memory


下面是所有 memory 相关的信息

| 参数名 | 含义 |

| — | — |

| used_memory | 由 Redis 分配器分配的内存总量,以字节(byte)为单位 |

| used_memory_human | 以人类可读的格式返回 Redis 分配的内存总量 |

| used_memory_rss | 从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps 等命令的输出一致。 |

| used_memory_peak | Redis 的内存消耗峰值(以字节为单位) |

| used_memory_peak_human | 以人类可读的格式返回 Redis 的内存消耗峰值 |

| used_memory_peak_perc | 使用内存占峰值内存的百分比 |

| used_memory_overhead | 服务器为管理其内部数据结构而分配的所有开销的总和(以字节为单位) |

| used_memory_startup | Redis在启动时消耗的初始内存大小(以字节为单位) |

| used_memory_dataset | 以字节为单位的数据集大小(used_memory减去used_memory_overhead) |

| used_memory_dataset_perc | used_memory_dataset占净内存使用量的百分比(used_memory减去used_memory_startup) |

| total_system_memory | Redis主机具有的内存总量 |

| total_system_memory_human | 以人类可读的格式返回 Redis主机具有的内存总量 |

| used_memory_lua | Lua 引擎所使用的内存大小(以字节为单位) |

| used_memory_lua_human | 以人类可读的格式返回 Lua 引擎所使用的内存大小 |

| maxmemory | maxmemory配置指令的值 |

| maxmemory_human | 以人类可读的格式返回 maxmemory配置指令的值 |

| maxmemory_policy | maxmemory-policy配置指令的值 |

| mem_fragmentation_ratio | used_memory_rss 和 used_memory 之间的比率 |

| mem_allocator | 在编译时指定的, Redis 所使用的内存分配器。可以是 libc 、 jemalloc 或者 tcmalloc |

| active_defrag_running | 指示活动碎片整理是否处于活动状态的标志 |

| lazyfree_pending_objects | 等待释放的对象数(由于使用ASYNC选项调用UNLINK或FLUSHDB和FLUSHALL) |

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

image.png

6、info persistence


下面是所有 persistence 相关的信息:

| 参数名 | 含义 |

| — | — |

| loading | 指示转储文件(dump)的加载是否正在进行的标志 |

| rdb_changes_since_last_save | 自上次转储以来的更改次数 |

| rdb_bgsave_in_progress | 指示RDB文件是否正在保存的标志 |

| rdb_last_save_time | 上次成功保存RDB的基于纪年的时间戳 |

| rdb_last_bgsave_status | 上次RDB保存操作的状态 |

| rdb_last_bgsave_time_sec | 上次RDB保存操作的持续时间(以秒为单位) |

| rdb_current_bgsave_time_sec | 正在进行的RDB保存操作的持续时间(如果有) |

| rdb_last_cow_size | 上次RDB保存操作期间copy-on-write分配的字节大小 |

| aof_enabled | 表示AOF记录已激活的标志 |

| aof_rewrite_in_progress | 表示AOF重写操作正在进行的标志 |

| aof_rewrite_scheduled | 表示一旦进行中的RDB保存操作完成,就会安排进行AOF重写操作的标志 |

| aof_last_rewrite_time_sec | 上次AOF重写操作的持续时间,以秒为单位 |

| aof_current_rewrite_time_sec | 正在进行的AOF重写操作的持续时间(如果有) |

| aof_last_bgrewrite_status | 上次AOF重写操作的状态 |

| aof_last_write_status | 上一次AOF写入操作的状态 |

| aof_last_cow_size | 上次AOF重写操作期间copy-on-write分配的字节大小 |

changes_since_last_save指的是从上次调用SAVE或者BGSAVE以来,在数据集中产生某种变化的操作的数量。

image.png

7、AOF

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
9c8f38a89803e07c87ca19be12.png)

7、AOF

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

[外链图片转存中…(img-NEkJ9vK1-1714948844766)]

[外链图片转存中…(img-v8mSL7GG-1714948844766)]

[外链图片转存中…(img-xNhUKcPM-1714948844767)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 15
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值