redis info 參數 詳解git
info 以一種易於解釋且易於閱讀的格式,返回關於redis服務器的各類信息和統計數值redis
命令以下:(默認不須要all , 我習慣加 all ,你能夠去掉all 對吧一下)sql
redis-cli -h x.x.x.x -p xxxx info all數據庫
all : 返回全部信息
default : 返回默認選擇的信息
當不帶參數直接調用 INFO 命令時,使用 default 做爲默認參數。api
這裏的redis 版本是 redis 3.0.7 緩存
返回參數以下:服務器
# 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
connected_clients:14 ## 已鏈接客戶端的數量(不包括經過從屬服務器鏈接的客戶端)
client_longest_output_list:0 ## 當前鏈接的客戶端當中,最長的輸出列表
client_biggest_input_buf:0 ## 當前鏈接的客戶端當中,最大輸入緩存
blocked_clients:0 ## 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客戶端的數量nosql
# 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 或者 tcmallocsocket
備註:
在理想狀況下, used_memory_rss 的值應該只比 used_memory 稍微高一點兒。
一、當 rss > used 時,且二者的值相差較大時,表示存在(內部或外部的)內存碎片。內存碎片的比率能夠經過 mem_fragmentation_ratio的值看出。
二、當 used > rss 時,表示 Redis 的部份內存被操做系統換出到交換空間了,在這種狀況下,操做可能會產生明顯的延遲
當 Redis 釋放內存時,分配器可能會,也可能不會,將內存返還給操做系統。
若是 Redis 釋放了內存,卻沒有將內存返還給操做系統,那麼 used_memory 的值可能和操做系統顯示的 Redis 內存佔用並不一致。
查看 used_memory_peak 的值能夠驗證這種狀況是否發生。
# 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
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
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
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
好比命令執行的次數、命令耗費的 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_enabled:0 ## 一個標誌值,記錄集羣功能是否已經開啓
好比數據庫的鍵數量、數據庫已經被刪除的過時鍵數量等。對於每一個數據庫,這個部分都會添加一行如下格式的信息
dbXXX:keys=XXX,expires=XXX
# Keyspace db0:keys=5370,expires=1643,avg_ttl=45057331