Redis内存信息查看相关

info命令

可以查看Redis的很多信息如CPU、Memory、Clients的信息,显示内容如下:

# Server
redis_version:4.0.8
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:fac27060400e1468
redis_mode:standalone
os:Linux 3.10.0-514.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:4.8.5
process_id:2631
run_id:1cb55c823c3ab2fb97394436441c3d0138627f1f
tcp_port:6379
uptime_in_seconds:188481
uptime_in_days:2
hz:10
lru_clock:14485108
executable:/home/yhserver/tools/redis-4.0.8/src/redis-server
config_file:

# Clients
connected_clients:15
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:2537832
used_memory_human:2.42M
used_memory_rss:12505088
used_memory_rss_human:11.93M
used_memory_peak:2947512
used_memory_peak_human:2.81M
used_memory_peak_perc:86.10%
used_memory_overhead:1091138
used_memory_startup:765600
used_memory_dataset:1446694
used_memory_dataset_perc:81.63%
total_system_memory:6072254464
total_system_memory_human:5.66G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
mem_fragmentation_ratio:4.93
mem_allocator:jemalloc-4.0.3
active_defrag_running:0
lazyfree_pending_objects:0

# Persistence
loading:0
rdb_changes_since_last_save:25
rdb_bgsave_in_progress:0
rdb_last_save_time:1557986513
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:6787072
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

# Stats
total_connections_received:29
total_commands_processed:30575
instantaneous_ops_per_sec:0
total_net_input_bytes:2344696
total_net_output_bytes:1276586
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
evicted_keys:0
keyspace_hits:2055
keyspace_misses:28203
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:172
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
connected_slaves:0
master_replid:e888872c78cd0a3759b629d250087d0a9b57954e
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:74.42
used_cpu_user:8.35
used_cpu_sys_children:2.58
used_cpu_user_children:0.23

# Cluster
cluster_enabled:0

# Keyspace
db0:keys=342,expires=0,avg_ttl=0
db2:keys=343,expires=0,avg_ttl=0
db3:keys=5,expires=0,avg_ttl=0
db4:keys=1,expires=0,avg_ttl=0
db5:keys=27,expires=0,avg_ttl=0
db7:keys=2,expires=0,avg_ttl=0
db9:keys=39,expires=0,avg_ttl=0
db10:keys=4,expires=0,avg_ttl=0

当然也可以通过info memory指定打印Memory相关的信息。我们就可以看到Redis使用了多少内存已经总的可以使用的内存等信息。

debug object key

可以查看某个key对应的value序列化后的值

127.0.0.1:6379> DEBUG OBJECT 1:565555
Value at:0x7f5d96c6ab50 refcount:1 encoding:raw serializedlength:1438 lru:14296627 lru_seconds_idle:188786
  • Value at:key的内存地址
  • refcount:引用次数
  • encoding:编码类型
  • serializedlength:序列化长度
  • lru_seconds_idle:空闲时间

就是说这里显示的serializedlength是已经被压缩过的,查看到的是被保存到rdb文件时的大小,而非实际占用的内存大小。而且每次使用这个命令Redis都会耗费一些时间对查看的内容进行压缩。一般是不建议使用这个命令查看内存占用大小的。

memory usage key

The MEMORY USAGE command reports the number of bytes that a key and
its value require to be stored in RAM.

memory usage key就可以用来查看某个key对应value占用内存的大小,单位是bytes。

127.0.0.1:6379> memory usage 1:565555
(integer) 3311

通过这个命令我们就能看到最正确的数据大小了,我对比了打印出来的值和log中保存的值,基本上是一致的(log中的长度还包括了协议报头头的数据)。

你可能感兴趣的:(Redis内存信息查看相关)