發(fā)布時間:2024-01-19閱讀(19)
INFO命令會返回Redis服務器的狀態(tài)信息和統(tǒng)計數據,計算機可以很簡單地解析這些返回數據,用戶也可以輕松地閱讀這些返回數據。
可以通過以下的可選參數,選擇查看特定分段的服務器信息:
server:Redis服務器相關的通用信息
clients:客戶端連接的相關信息
memory:內存消耗的相關信息
persistence:RDB(Redis DataBase)和AOF(Append-Only File)的相關信息
stats:通用統(tǒng)計數據
replication:主/從復制的相關信息
cpu:CPU消耗的統(tǒng)計數據
commandstats:Redis命令的統(tǒng)計數據
cluster:Redis集群的相關信息
keyspace:數據庫相關的統(tǒng)計數據
INFO命令還可以使用以下參數:
all:返回所有的服務器信息
default:只返回默認的信息集合
當不提供任何參數時,默認會使用default選項。
返回值
返回值為批量字符串,它是多條文本行的集合。
文本行可能包含一個分段名稱(以一個#字符開始)或者一個屬性。所有的屬性都是field:value的格式,以
結尾。INFO命令的返回值如下所示:
# Server
server分段中的所有字段的含義如下所示:
redis_version:Redis服務器的版本號。
redis_git_sha1:Git SHA1。
redis_git_dirty:GIT臟數據標志。
os:Redis服務器使用的操作系統(tǒng)。
arch_bits:服務器架構(32位或64位)。
multiplexing_api:Redis使用的事件循環(huán)機制。
gcc_version:用來編譯這個Redis服務器的GCC編譯器的版本。
process_id:Redis服務器進程的進程號(PID)。
run_id:用于標識Redis服務器的隨機值(Redis的哨兵模式和集群模式會使用這個隨機值)。
tcp_port:TCP/IP的監(jiān)聽端口。
uptime_in_seconds:Redis服務器啟動至今的時間,以秒為單位。
uptime_in_days:Redis服務器啟動至今的時間,以天為單位。
lru_clock:每分鐘都會遞增的時鐘,用于LRU(Least Recently Used,最近最少使用)緩存管理。
executable:Redis服務器的可執(zhí)行文件的路徑。
config_file:Redis服務器的配置文件的路徑。2.
clients分段的字段含義
clients分段中的所有字段的含義如下所示:
connected_clients:客戶端連接的數量(來自從機的連接除外)。
client_longest_output_list:當前的客戶端連接之中,最長的輸出列表。
client_biggest_input_buf:當前的客戶端連接之中,最大的輸入緩沖區(qū)。
blocked_clients:由于阻塞調用(BLPOP、BRPOP、BRPOPLPUSH)而等待的客戶端的數量。3.
memory分段的字段含義
memory分段中的所有字段的含義如下所示:
used_memory:Redis使用它的內存分配器(可以是標準的libc、jemalloc或tcmalloc分配器)分配的內存總量,以字節(jié)為單位。
used_memory_human:Redis使用它的內存分配器分配的內存總量,顯示為用戶易于閱讀的格式。
used_memory_rss:操作系統(tǒng)所看到的為Redis分配的內存總量(也被稱為“駐留集大小(Resident Set Size)”)。這個內存總量是由諸如top(1)和ps(1)之類的工具報告的。
used_memory_rss_human:操作系統(tǒng)所看到的為Redis分配的內存總量,顯示為用戶易于閱讀的格式。
used_memory_peak:Redis消耗的內存峰值,以字節(jié)為單位。
used_memory_peak_human:Redis消耗的內存峰值,顯示為用戶易于閱讀的格式。
total_system_memory:系統(tǒng)內存總量,以字節(jié)為單位。
total_system_memory_human:系統(tǒng)內存總量,顯示為用戶易于閱讀的格式。
used_memory_lua:Lua腳本引擎使用的內存總量,以字節(jié)為單位。
used_memory_lua_human:Lua腳本引擎使用的內存總量,顯示為用戶易于閱讀的格式。
maxmemory:Redis能夠使用的最大內存上限(0表示沒有限制),以字節(jié)為單位。
maxmemory_human:Redis能夠使用的最大內存上限,顯示為用戶易于閱讀的格式。
maxmemory_policy:Redis使用的內存回收策略,可以是noeviction、allkeys-lru、volatile-lru、allkeys-random、volatile-random或volatile-ttl。
mem_fragmentation_ratio:used_memory_rss和used_memory之間的比率。
mem_allocator:Redis使用的內存分配器,在編譯時選擇指定。在理想情況下,
used_memory_rss的值只應當比used_memory的值稍微高一點。當常駐集內存(rss)遠大于已使用內存(used)時,這就意味著Redis服務器存在較多的內存碎片(內部的或外部的),這種情況可以通過檢查mem_fragmentation_ratio的值估計出來。當已使用內存(used)遠大于常駐集內存(rss)時,這就意味著有一部分Redis使用的內存被操作系統(tǒng)換出至磁盤了:可以預料到會產生明顯的延時。因為,Redis無法控制如何將它分配的內存映射至內存頁面,當內存使用率飆升時,經常會導致較高的
used_memory_rss值。當Redis釋放內存時,會將內存歸還給分配器,然后分配器可能會(也可能不會)將內存歸還給操作系統(tǒng)。
used_memory的值和操作系統(tǒng)報告的內存消耗值可能會有一些差異。這可能是由于Redis正在使用和釋放內存,但是釋放的內存尚未歸還給操作系統(tǒng)而導致的。通常,可以通過used_memory_peak的值來檢查Redis是否存在這種問題。4.
persistence分段的字段含義
persistence分段中的所有字段的含義如下所示:
loading:表示Redis是否正在加載一個轉儲文件的標志。
rdb_changes_since_last_save:從最近一次轉儲至今,RDB的修改次數。
rdb_bgsave_in_progress:表示Redis正在保存RDB的標志。
rdb_last_save_time:最近一次成功保存RDB的時間戳,基于Epoch時間。
rdb_last_bgsave_status:最近一次RDB保存操作的狀態(tài)。
rdb_last_bgsave_time_sec:最近一次RDB保存操作消耗的時間,以秒為單位。
rdb_current_bgsave_time_sec:如果Redis正在執(zhí)行RDB保存操作,那么這個字段表示已經消耗的時間,以秒為單位。
aof_enabled:表示Redis是否啟用AOF日志功能的標志。
aof_rewrite_in_progress:表示Redis是否正在執(zhí)行一次AOF重寫操作的標志。
aof_rewrite_scheduled:表示一旦Redis正在執(zhí)行的RDB保存操作完成之后,是否就會調度執(zhí)行AOF重寫操作的標志。
aof_last_rewrite_time_sec:最近一次AOF重寫操作消耗的時間,以秒為單位。
aof_current_rewrite_time_sec:如果Redis正在執(zhí)行AOF重寫操作,那么這個字段表示已經消耗的時間,以秒為單位。
aof_last_bgrewrite_status:最近一次AOF重寫操作的狀態(tài)。
rdb_changes_since_last_save字段表示自從調用SAVE命令或BGSAVE命令至今,Redis已經執(zhí)行了會對數據集造成某種修改的所有操作的總次數。如果啟用了AOF功能,那么
persistence分段將會新增額外的字段,如下所示:
aof_current_size:AOF文件當前的大小。
aof_base_size:最近一次啟動或重寫時的AOF文件的大小。
aof_pending_rewrite:表示一旦Redis正在執(zhí)行的RDB保存操作完成之后,是否就會調度執(zhí)行AOF重寫操作的標志。
aof_buffer_length:AOF緩沖區(qū)的大小。
aof_rewrite_buffer_length:AOF重寫緩沖區(qū)的大小。
aof_pending_bio_fsync:表示后臺I/O隊列中的fsync的暫停任務。
aof_delayed_fsync:被延遲的fsync調用的計數器。如果Redis正在執(zhí)行加載操作,那么
persistence分段將會新增額外的字段,如下所示:
loading_start_time:開始執(zhí)行加載轉儲文件操作的時間戳,基于Epoch時間。
loading_total_bytes:轉儲文件的總大小。
loading_loaded_bytes:已經加載的轉儲文件的大小,以字節(jié)為單位。
loading_loaded_perc:已經加載的轉儲文件的百分比。
loading_eta_seconds:預計完成加載轉儲文件需要消耗的時間,以秒為單位。5.
stats分段的字段含義
stats分段中的所有字段的含義如下所示:
total_connections_received:Redis服務器接受的連接總數。
total_commands_processed:Redis服務器處理的命令總數。
instantaneous_ops_per_sec:每秒鐘處理的命令數量。
total_net_input_bytes:通過網絡接收的數據總量,以字節(jié)為單位。
total_net_output_bytes:通過網絡發(fā)送的數據總量,以字節(jié)為單位。
instantaneous_input_kbps:每秒鐘接收數據的速率,以kbps為單位。
instantaneous_output_kbps:每秒鐘發(fā)送數據的速率,以kbps為單位。
rejected_connections:Redis服務器由于maxclients限制而拒絕的連接數量。
sync_full:Redis主機和從機進行完全同步的次數。
sync_partial_ok:Redis服務器接受PSYNC請求的次數。
sync_partial_err:Redis服務器拒絕PSYNC請求的次數。
expired_keys:鍵過期事件的總數。
evicted_keys:由于maxmemory限制,而被回收內存的鍵的總數。
keyspace_hits:在主字典中成功查找到鍵的次數。
keyspace_misses:在主字典中未能成功查找到鍵的次數。
pubsub_channels:客戶端訂閱的發(fā)布/訂閱頻道的總數量。
pubsub_patterns:客戶端訂閱的發(fā)布/訂閱模式的總數量。
latest_fork_usec:最近一次fork操作消耗的時間,以微秒為單位。
migrate_cached_sockets:遷移已緩存的套接字的數量。6.
replication分段的字段含義
replication分段中的所有字段的含義如下所示:
role:如果這個實例是某個Redis主機的從機,那么這個字段的值為“slave”;如果這個實例不是任何Redis主機的從機,那么這個字段的值是“master”。注意,一個從機可以是另一個從機的主機(Daisy Chaining,菊花鏈)。
connected_slaves:已連接的Redis從機的數量。
master_repl_offset:全局的復制偏移量。
repl_backlog_active:表示Redis服務器是否為部分同步開啟復制備份日志(backlog)功能的標志。
repl_backlog_size:備份日志的循環(huán)緩沖區(qū)的大小
repl_backlog_first_byte_offset:備份日志緩沖區(qū)中的首個字節(jié)的復制偏移量。
repl_backlog_histlen:備份日志的實際數據長度。如果這個Redis實例是一個從機,那么
replication分段將會新增額外的字段,如下所示:
master_host:Redis主機的主機名或IP地址。
master_port:Redis主機監(jiān)聽的TCP端口。
master_link_status:鏈路狀態(tài)(連接/斷開)。
master_last_io_seconds_ago:最近一次和Redis主機交互至今的消耗時間,以秒為單位。
master_sync_in_progress:表示Redis主機正在將數據同步至從機。如果正在進行數據同步,那么
replication分段將會新增額外的字段,如下所示:
master_sync_left_bytes:在同步完成之前,還剩余的數據總量,以字節(jié)為單位。
master_sync_last_io_seconds_ago:在一次SYNC操作期間,最近一次傳輸數據的I/O操作至今的消耗時間,以秒為單位。如果主機和從機之間的鏈路斷開了,那么
replication分段將會新增額外的字段,如下所示:
master_link_down_since_seconds:從鏈路斷開至今的時間,以秒為單位。對于每個從機來說,
replication分段都會添加以下字段:
slaveXXX:顯示從機的id、IP地址、端口和狀態(tài)。7.
cpu分段的字段含義
cpu分段中的所有字段的含義如下所示:
used_cpu_sys:Redis服務器消耗的系統(tǒng)CPU性能。
used_cpu_user:Redis服務器消耗的用戶CPU性能。
used_cpu_sys_children:后臺進程消耗的系統(tǒng)CPU性能。
used_cpu_user_children:后臺進程消耗的用戶CPU性能。8.
commandstats分段的字段含義
commandstats分段會提供基于命令類型的統(tǒng)計數據,包括:命令調用次數、命令消耗的CPU時間總量、每次執(zhí)行命令消耗CPU時間的平均值。對于每個命令類型,
commandstats分段每行的格式如下所示:
cmdstat_XXX:calls=XXX,usec=XXX,usec_per_call=XXX其中,第一個XXX是命令的名稱,第二個XXX是命令調用次數,第三個XXX是命令消耗的CPU時間總量(以微秒為單位),第三個XXX是每次調用命令消耗的CPU時間的平均值(以微秒為單位)。
9.
cluster分段的字段含義
cluster分段當前只包含一個字段:
cluster_enabled:表示是否啟用Redis集群功能的標志。10.
keyspace分段的字段含義
keyspace分段會提供關于每個數據庫的主字典的統(tǒng)計數據。這些統(tǒng)計數據包括鍵的數量、具有過期時間的鍵的數量和鍵的平均生存時間。對于每個數據庫來說,
keyspace分段每行的格式如下所示:
dbXXX:keys=XXX,expires=XXX,avg_ttl=XXX其中,第一個XXX表示數據庫的編號,第二個XXX表示鍵的數量,第三個XXX表示具有過期時間的鍵的數量,第四個XXX表示鍵的平均生存時間。
歡迎分享轉載→http://m.avcorse.com/read-31355.html
Copyright ? 2024 有趣生活 All Rights Reserve吉ICP備19000289號-5 TXT地圖HTML地圖XML地圖