1. 程式人生 > >redis info 參數詳解

redis info 參數詳解

-1 事件處理 架構 單位 不同 cpu malloc client xxx

redis info 參數 詳解

info 以一種易於解釋且易於閱讀的格式,返回關於redis服務器的各種信息和統計數值

命令如下:(默認不需要all , 我習慣加 all ,你可以去掉all 對吧一下)

redis-cli -h x.x.x.x -p xxxx info all

all : 返回所有信息
default : 返回默認選擇的信息
當不帶參數直接調用 INFO 命令時,使用 default 作為默認參數。

這裏的redis 版本是 redis 3.0.7

返回參數如下:

Server 服務器的信息

# Server
redis_version:3.0.7 ## redis 服務器版本
redis_git_sha1:00000000 ## Git SHA1
redis_git_dirty:0 ## Git dirty flag
redis_build_id:d811223d6cb3a727 ##
redis_mode:standalone ##
os:Linux 2.6.32-573.18.1.el6.x86_64 x86_64 ## redis 服務器的宿主操作系統
arch_bits:64 ## 架構(32 或 64 位)
multiplexing_api:epoll ## redis 所使用的事件處理機制
gcc_version:4.4.7 ## 編譯 Redis 時所使用的 GCC 版本
process_id:21900 ## 服務器進程的 PID
run_id:80c1113082d87bae5c828cf51f3875bcf4d6fcb7 ##redis 服務器的隨機標識符(用於 Sentinel 和集群)
tcp_port:4601 ## TCP/IP 監聽端口
uptime_in_seconds:1904075 ## 自 redis 服務器啟動以來,經過的秒數
uptime_in_days:22 ## 自 Redis 服務器啟動以來,經過的天數
hz:10 ##
lru_clock:1524258 ## 以分鐘為單位進行自增的時鐘,用於 LRU 管理
config_file:/data/nosql/redis_4601/redis.conf ## 啟動 redis 配置文件

Clients 部分記錄了已連接客戶端的信息

# Clients
connected_clients:14 ## 已連接客戶端的數量(不包括通過從屬服務器連接的客戶端)
client_longest_output_list:0 ## 當前連接的客戶端當中,最長的輸出列表
client_biggest_input_buf:0 ## 當前連接的客戶端當中,最大輸入緩存
blocked_clients:0 ## 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客戶端的數量

Memory 部分記錄了服務器的內存信息

# Memory
used_memory:5502288 ## 由 redis 分配器分配的內存總量,以字節(byte)為單位
used_memory_human:5.25M ## 以人類可讀的格式返回 redis 分配的內存總量
used_memory_rss:7254016 ## 從操作系統的角度,返回 Redis 已分配的內存總量(俗稱常駐集大小)。這個值和 top、ps 等命令的輸出一致。
used_memory_peak:11285384 ## redis 的內存消耗峰值(以字節為單位)
used_memory_peak_human:10.76M ## 以人類可讀的格式返回 redis 的內存消耗峰值
used_memory_lua:36864 ## Lua 引擎所使用的內存大小(以字節為單位)
mem_fragmentation_ratio:1.32 ## used_memory_rss 和 used_memory 之間的比率
mem_allocator:jemalloc-3.6.0 ## 在編譯時指定的, Redis 所使用的內存分配器。可以是 libc 、 jemalloc 或者 tcmalloc

備註:

在理想情況下, used_memory_rss 的值應該只比 used_memory 稍微高一點兒。 1、當 rss > used 時,且兩者的值相差較大時,表示存在(內部或外部的)內存碎片。內存碎片的比率可以通過 mem_fragmentation_ratio的值看出。 2、當 used > rss 時,表示 Redis 的部分內存被操作系統換出到交換空間了,在這種情況下,操作可能會產生明顯的延遲 當 Redis 釋放內存時,分配器可能會,也可能不會,將內存返還給操作系統。 如果 Redis 釋放了內存,卻沒有將內存返還給操作系統,那麽 used_memory 的值可能和操作系統顯示的 Redis 內存占用並不一致。 查看 used_memory_peak 的值可以驗證這種情況是否發生。

Persistence 部分記錄了跟 RDB 持久化和 AOF 持久化有關的信息

# Persistence
loading:0 ## 一個標誌值,記錄了服務器是否正在載入持久化文件
rdb_changes_since_last_save:80219051 ## 距離最近一次成功創建持久化文件之後,經過了多少秒
rdb_bgsave_in_progress:0 ## 一個標誌值,記錄了服務器是否正在創建 RDB 文件
rdb_last_save_time:1459237977 ## 最近一次成功創建 RDB 文件的 UNIX 時間戳
rdb_last_bgsave_status:ok ## 一個標誌值,記錄了最近一次創建 RDB 文件的結果是成功還是失敗
rdb_last_bgsave_time_sec:0 ## 記錄了最近一次創建 RDB 文件耗費的秒數
rdb_current_bgsave_time_sec:-1 ## 如果服務器正在創建 RDB 文件,那麽這個域記錄的就是當前的創建操作已經耗費的秒數
aof_enabled:0 ## 一個標誌值,記錄了 AOF 是否處於打開狀態
aof_rewrite_in_progress:0 ## 一個標誌值,記錄了服務器是否正在創建 AOF 文件
aof_rewrite_scheduled:0 ## 一個標誌值,記錄了在 RDB 文件創建完畢之後,是否需要執行預約的 AOF 重寫操作
aof_last_rewrite_time_sec:-1 ## 最近一次創建 AOF 文件耗費的時長
aof_current_rewrite_time_sec:-1 ## 如果服務器正在創建 AOF 文件,那麽這個域記錄的就是當前的創建操作已經耗費的秒數
aof_last_bgrewrite_status:ok ## 一個標誌值,記錄了最近一次創建 AOF 文件的結果是成功還是失敗
aof_last_write_status:ok

備註:

如果 AOF 持久化功能處於開啟狀態,那麽這個部分還會加上以下域:

aof_current_size ## AOF 文件目前的大小

aof_base_size ## 服務器啟動時或者 AOF 重寫最近一次執行之後,AOF 文件的大小

aof_pending_rewrite ## 一個標誌值,記錄了是否有 AOF 重寫操作在等待 RDB 文件創建完畢之後執行

aof_buffer_length ## AOF 緩沖區的大小

aof_rewrite_buffer_length ## AOF 重寫緩沖區的大小

aof_pending_bio_fsync ## 後臺 I/O 隊列裏面,等待執行的 fsync 調用數量

aof_delayed_fsync ## 被延遲的 fsync 調用數量

Stats 部分記錄了一般統計信息

# Stats
total_connections_received:6703 ## 服務器已接受的連接請求數量
total_commands_processed:102444866 ## 服務器已執行的命令數量
instantaneous_ops_per_sec:10 ## 服務器每秒鐘執行的命令數量
total_net_input_bytes:156252763413 ## 自 redis 服務器啟動以來,流入的流量,以字節(byte)為單位
total_net_output_bytes:965371342363 ## 自 redis 服務器啟動以來,流出的流量,以字節(byte)為單位
instantaneous_input_kbps:0.53 ## 接收輸入的速率(每秒)
instantaneous_output_kbps:2.74 ## 輸出的速率(每秒)
rejected_connections:0 ## 因為最大客戶端數量限制而被拒絕的連接請求數量
sync_full:1 ##
sync_partial_ok:0 ##
sync_partial_err:0 ##
expired_keys:40982 ## 因為過期而被自動刪除的數據庫鍵數量
evicted_keys:0 ## 因為最大內存容量限制而被驅逐(evict)的鍵數量
keyspace_hits:510142 ## 查找數據庫鍵成功的次數
keyspace_misses:337727 ## 查找數據庫鍵失敗的次數
pubsub_channels:1 ## 目前被訂閱的頻道數量
pubsub_patterns:0 ## 目前被訂閱的模式數量
latest_fork_usec:201 ## 最近一次 fork() 操作耗費的毫秒數
migrate_cached_sockets:0 ##

Replication 主/從復制信息

# Replication
role:master ## 如果當前服務器沒有在復制任何其他服務器,那麽這個域的值就是master;否則的話,這個域的值就是 slave 。註意,在創建復制鏈的時候,一個從服務器也可能是另一個服務器的主服務器
connected_slaves:1
slave0:ip=10.68.111.196,port=4601,state=online,offset=155899191338,lag=0
master_repl_offset:155899191651
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:155898143076
repl_backlog_histlen:1048576

CPU 部分記錄了 CPU 的計算量統計信息

# CPU
used_cpu_sys:5727.55 ## 服務器耗費的系統 CPU
used_cpu_user:2277.16 ## 服務器耗費的用戶 CPU
used_cpu_sys_children:0.00 ## 後臺進程耗費的系統 CPU
used_cpu_user_children:0.00 ## 後臺進程耗費的用戶 CPU

Commandstats 部分記錄了各種不同類型的命令的執行統計信息

比如命令執行的次數、命令耗費的 CPU 時間、執行每個命令耗費的平均 CPU 時間等等。對於每種類型的命令,這個部分都會添加一行以下格式的信息

cmdstat_XXX:calls=XXX,usec=XXX,usecpercall=XXX

# Commandstats
cmdstat_get:calls=740536,usec=4118494,usec_per_call=5.56
cmdstat_set:calls=12202650,usec=83456095,usec_per_call=6.84
cmdstat_setex:calls=42625,usec=361042,usec_per_call=8.47
cmdstat_mget:calls=22143,usec=209016,usec_per_call=9.44
cmdstat_lpush:calls=33986888,usec=122231082,usec_per_call=3.60
cmdstat_rpop:calls=36227499,usec=150930198,usec_per_call=4.17
cmdstat_llen:calls=724,usec=2494,usec_per_call=3.44
cmdstat_ping:calls=10672768,usec=23701037,usec_per_call=2.22
cmdstat_psync:calls=1,usec=314,usec_per_call=314.00
cmdstat_replconf:calls=1901627,usec=4068982,usec_per_call=2.14
cmdstat_info:calls=1141836,usec=77908621,usec_per_call=68.23
cmdstat_config:calls=2171,usec=31231,usec_per_call=14.39
cmdstat_subscribe:calls=8,usec=32,usec_per_call=4.00
cmdstat_publish:calls=5503350,usec=122501888,usec_per_call=22.26
cmdstat_client:calls=40,usec=107,usec_per_call=2.67

Cluster 部分記錄了和集群有關的信息

# Cluster
cluster_enabled:0 ## 一個標誌值,記錄集群功能是否已經開啟

Keyspace 部分記錄了數據庫相關的統計信息

比如數據庫的鍵數量、數據庫已經被刪除的過期鍵數量等。對於每個數據庫,這個部分都會添加一行以下格式的信息

dbXXX:keys=XXX,expires=XXX

# Keyspace
db0:keys=5370,expires=1643,avg_ttl=45057331

redis info 參數詳解