redis info詳解

經過info信息,能夠看到redis的一些詳細狀況,後續的redis監控,也是基於這個info信息。git

經過給定可選的參數section,可讓命令只返回某一部分的信息:redis

 

Server部分記錄了Redis服務器的信息,它包含如下域:數據庫

redis_version : 2.8.19                              # Redis服務器版本api

redis_git_sha1:00000000                         #Git  SHA1緩存

redis_git_dirty: 0                                 #Git dirty flag服務器

os:  Linux 3.2.0-23-generic x86_64                  #Redis服務器的宿主操做系統架構

arch_bits: 64                                    #服務器系統架構(32位或64位)tcp

multiplexing_api: epoll                            #Redis使用的事件處理機制函數

gcc_version:4.6.3                                 #編譯Redis時所使用的GCC版本lua

process_id:7573                                  #Redis服務的進程PID

run_id:f1c233c4194cba88616c5bfff2d97fc3074865c1    #Redis服務器的隨機標識符(用於Sentinel和集羣)

tcp_port:6379                                    #Redis服務監聽的TCP端口

uptime_in_seconds:7976                           #自Redis服務器啓動以來,通過的秒數

uptime_in_days:0                 #自Redis服務器啓動以來,通過的天數. 這裏還不到1天,故顯示爲0

hz:10                           # Redis調用內部函數來執行許多後臺任務的頻率爲每秒10次   

lru_clock:1133773                 #以分鐘爲單位進行自增的時鐘,用於LRU管理

config_file:/data/redis_6379/redis.conf  #redis.conf配置文件所在路徑

 

Clients部分記錄了已鏈接客戶端的信息,它包含如下域:

connected_clients:2                #已鏈接客戶端的數量(不包括經過從服務器鏈接的客戶端)

client_longest_output_list:0         #當前的客戶端鏈接中,最長的輸出列表

client_biggest_input_buf:0          #當前鏈接的客戶端中,最大的輸入緩存

blocked_clients:0                  #正在等待阻塞命令(BLOP、BRPOP、BRPOPLPUSH)的客戶端的數量

 

Memory部分記錄了服務器的內存信息,它包含如下域:

used_memory:894216            #Redis分配器分配給Redis的內存。例如,當Redis增長了存儲數據時,須要的內存直接從分配器分配給它的內存裏面取就能夠了,也就是直接從used_memory取。而Redis分配器分配給Redis的內存,是從操做系統分配給Redis的內存裏面取的(單位是字節)

used_memory_human:873.26K     #以人類可讀格式顯示Redis消耗的內存

used_memory_rss:2691072        #操做系統分配給Redis的內存。也就是Redis佔用的內存大小。這個值和top指令輸出的RES列結果是同樣的。RES列結果就表示Redis進程真正使用的物理內存(單位是字節)

used_memory_peak:914160        #Redis的內存消耗峯值(單位是字節)

used_memory_peak_human:892.73K  #以人類可讀的格式返回Redis的內存消耗峯值

used_memory_lua:35840           #Lua引擎所使用的內存大小(單位是字節)

mem_fragmentation_ratio:3.01      # used_memory_rss和used_memory之間的比率

mem_allocator:jemalloc-3.6.0       #在編譯時指定的,Redis所使用的內存分配器。能夠是libc、jemalloc或者tcmalloc

 

理想狀況下,used_memory_rss的值應該只比used_memory稍微高一點。

當rss >used,且二者的值相差較大時,表示存在(內部或者外部的)內存碎片。內存碎片的比率能夠經過mem_fragmentation_ratio的值看出;

當used>rss時,表示Redis的部份內存被操做系統換出到交換空間,在這種狀況下,操做可能會產生明顯的延遲。

 

Persistence部分記錄了RDB持久化和AOF持久化有關的信息,它包含如下域:

loading:0           #一個標誌值,記錄了服務器是否正在載入持久化文件

rdb_changes_since_last_save:0  #距離最後一次成功建立持久化文件以後,改變了多少個鍵值

rdb_bgsave_in_progress:0       #一個標誌值,記錄服務器是否正在建立RDB文件

rdb_last_save_time:1427189587  #最近一次成功建立RDB文件的UNIX時間戳

rdb_last_bgsave_status:ok       #一個標誌值,記錄了最後一次建立RDB文件的結果是成功仍是失敗

rdb_last_bgsave_time_sec:0     #記錄最後一次建立RDB文件耗費的秒數

rdb_current_bgsave_time_sec:-1  #若是服務器正在建立RDB文件,那麼這個值記錄的就是當前的建立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持久化功能處於開啓狀態,那麼在Persistence部分還會加上如下域:

aof_current_size:14301     #AOF文件目前的大小

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

aof_pending_rewrite:0     #一個標誌值,記錄了是否有AOF重寫操做在等待RDB文件建立完以後執行

aof_buffer_length:0       # AOF緩衝區的大小

aof_rewrite_buffer_length:0  #AOF重寫緩衝區的大小

aof_pending_bio_fsync:0    #在後臺I/0隊列裏面,等待執行的fsync數量

aof_delayed_fsync:0        #被延遲執行的fsync數量

 

Stats部分記錄了通常的統計信息,它包含如下域:

total_connections_received:8   #服務器已經接受的鏈接請求數量

total_commands_processed:10673  #服務器已經執行的命令數量

instantaneous_ops_per_sec:0   #服務器每秒中執行的命令數量

rejected_connections:0        #由於最大客戶端數量限制而被拒絕的鏈接請求數量

expired_keys:0               #由於過時而被自動刪除的數據庫鍵數量

evicted_keys:0               #由於最大內存容量限制而被驅逐(evict)的鍵數量

keyspace_hits:1              #查找數據庫鍵成功的次數

keyspace_misses:0           #查找數據庫鍵失敗的次數

pubsub_channels:0           #目前被訂閱的頻道數量

pubsub_patterns:0           #目前被訂閱的模式數量

latest_fork_usec:159          #最近一次fork()操做耗費的時間(毫秒)

 

Replication部分記錄了主從複製的信息

role:master                 #在主從複製中,充當的角色。若是沒有主從複製,單點的,它充當的角色也是master

connected_slaves:1           #有一個slave鏈接上來

slave0:ip=14.17.119.220,port=6379,state=online,offset=718446,lag=0  #slave的IP、端口、狀態等

 

若是當前服務器是從服務器的話,那麼這個部分還會加上如下域:

l   master_host :主服務器的IP地址

l   master_port:主服務器監聽的端口號

l   master_link_status:複製鏈接當前的狀態,up表示鏈接正常,down表示鏈接斷開

l   master_last_io_seconds_ago:距離最近一次與主服務器進行通訊已通過去了多少秒

l   master_sync_in_progress:一個標誌值,記錄了主服務器是否正在與這個從服務器進行同步

 

若是同步操做正在進行,那麼這個部分還會加上如下域:

l   master_sync_left_bytes:距離同步完成還缺多少字節的數據

l   master_sync_last_io_seconds_ago: 距離最近一次與主服務器進行通訊已通過去了多少秒

 

若是主從服務器之間的鏈接處於斷線狀態,那麼這個部分還會加上如下域:

l   master_link_down_since_seconds: 主從服務器鏈接斷開了多少秒

 

cpu部分記錄了CPU的計算量統計信息,它包含如下域:

l   used_cpu_sys:75.46   #Redis服務器耗費的系統CPU

l   used_cpu_user:90.12  #Redis服務器耗費的用戶CPU

l   used_cpu_sys_children:0.00  #Redis後臺進程耗費的系統CPU

l   used_cpu_user_children:0.00  #Redis後臺進程耗費的用戶CPU

 

Keyspace部分記錄了數據庫相關的統計信息,如數據庫的鍵數量、數據庫已經被刪除的過時鍵數量。對於每一個數據庫,這個部分會添加一行如下格式的信息:

db0:keys=25,expires=0,avg_ttl=0   #0號數據庫有25個鍵、已經被刪除的過時鍵數量爲0個

相關文章
相關標籤/搜索