這篇文章帶大家了解Redis中的Info指令,希望對大家有幫助!
Redis提供了info指令,它會傳回關於Redis伺服器的各種資訊和統計數值。在使用Redis時,時常會遇到一些疑難雜症需要我們去排查,這個時候我們可以透過info指令來取得Redis的運作狀態,然後進行問題的檢查。 【相關推薦:Redis影片教學】
透過給定可選的參數section ,可以讓指令只傳回某一部分的資訊:
server: Redis伺服器的一般資訊
clients: 用戶端的連線部分
##persistence: RDB和AOF相關資訊
stats: 一般統計
replication: 主/從複製資訊
cpu: 統計CPU的消耗
cluster: Redis叢集訊息
default: 值傳回預設設定的資訊
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 |
---|---|
Redis 伺服器版本 | |
Git SHA1 | |
Git dirty flag | |
建置ID | |
伺服器模式(standalone,sentinel或cluster) | |
Redis 伺服器的宿主作業系統 | |
架構(32 或64 位元) | |
##Redis 所使用的事件處理機制 | |
Redis使用的Atomicvar API | |
process_id | |
#run_id | |
tcp_port | |
uptime_in_seconds | |
uptime_in_days | |
hz |
config_file | 設定檔路徑 |
---|---|
info clients | |
含義 | |
#connected_clients |
以下是所有memory 相關的資訊
# #參數名稱 | 含義 |
---|---|
由Redis 分配器指派的記憶體總量,以位元組(byte)為單位 | |
以人類可讀的格式傳回Redis 分配的記憶體總量 | |
從作業系統的角度,傳回Redis 已分配的記憶體總量(俗稱常駐集大小)。這個值和 top 、 ps 等指令的輸出一致。 | |
used_memory_peak | |
used_memory_peak_human | |
used_memory_peak_perc | |
# used_memory_overhead | |
used_memory_startup | |
used_memory_dataset | |
used_memory_dataset_perc | |
total_system_memory #主機具有的記憶體總量 | |
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 的值可以驗證這種情況是否發生。
#以下是所有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重寫操作的狀態 | |
上一次AOF寫入操作的狀態 | |
上次AOF重寫操作期間copy-on-write指派的位元組大小 |
參數名稱 | 意思 |
---|---|
##目前的AOF檔案大小 | |
aof_base_size | 上次啟動或重寫時的AOF檔案大小 |
aof_pending_rewrite | 指示AOF重寫操作是否會在目前RDB儲存作業完成後立即執行的標誌。 |
aof_buffer_length | AOF緩衝區大小 |
aof_rewrite_buffer_length | AOF重寫緩衝區大小 |
loading | 如果正在執行載入操作,將會新增這些額外的欄位:|
---|---|
參數名稱 | |
loading_start_time | 載入操作的開始時間(基於紀元的時間戳記) |
loading_total_bytes | 檔案總大小 |
loading_loaded_bytes | 已經載入的位元組數 |
下面是所有stats 相關的資訊:
參數名稱 | 意義 |
---|---|
total_connections_received | 伺服器接受的連線總數 |
#total_commands_processed | 伺服器處理的命令總數 |
#instantaneous_ops_per_sec | 每秒處理的命令數 |
rejected_connections | 由於maxclients限製而拒絕的連線數 |
expired_keys | key到期事件的總數 |
evicted_keys | 由於maxmemory限製而導致被驅逐的key的數量 |
keyspace_hits | 在主字典中成功查找到key的次數 |
keyspace_misses | 在主字典中尋找key失敗的次數 |
pubsub_channels | 擁有用戶端訂閱的全域pub/sub通道數 |
pubsub_patterns | #擁有客戶端訂閱的全域pub/sub模式數 |
latest_fork_usec | 最新fork操作的持續時間,以微秒為單位 |
#下面是所有replication 相關的資訊:
參數名稱 | ##意思 |
---|---|
如果實例是從節點,則會提供以下這些額外欄位: | |
---|---|
意思 | |
##master_host | |
#master_port | |
#master_link_status |
master_sync_in_progress | 指示主節點正在與從節點同步 |
---|---|
參數名稱 | |
意思 |
#master_sync_left_bytes同步完成前剩餘的位元組數 | |
---|---|
在SYNC作業期間上次自傳輸IO以來的秒數 |
意思 | |
---|---|
自連接斷開以來,經過的秒數 |
#connected_slaves | 已連接的從節點數|
---|---|
info CPU | |
意思 | |
#used_cpu_user | ##由Redis伺服器消耗的使用者CPU#used_cpu_sys_children |
---|---|
#used_cpu_user_children | ##由後台程序消耗的使用者CPU |
#cluster部分目前只包含一個唯一的欄位:
參數名稱 | 含義 |
---|---|
#cluster_enabled | 表示已啟用Redis叢集 |
本文轉載自:https://juejin.cn/post/7014398047916883998
更多程式相關知識,請訪問:程式設計影片! !
以上是深入解析Redis中的Info指令的詳細內容。更多資訊請關注PHP中文網其他相關文章!