Redisメモリ情報の表示

3970 ワード

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は、bytes単位のkeyに対応するvalueがメモリを占有するサイズを表示するために使用できます.
    127.0.0.1:6379> memory usage 1:565555
    (integer) 3311
    

    このコマンドで最も正確なデータサイズがわかりますが、印刷された値とlogに保存されている値を比較すると、基本的に一致しています(logの長さにはプロトコルヘッダのデータも含まれています).