Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令
生活随笔
收集整理的這篇文章主要介紹了
Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Redis運維和開發學習筆記(6) 監控Redis工作狀態-info命令
文章目錄
- Redis運維和開發學習筆記(6) 監控Redis工作狀態-info命令
- info server
- info client
- info memory
- info persistence
- info stats
- info commandstats
- info cpu
- info cluster
- info keyspace
info server
Redis服務器相關的通用信息
127.0.0.1:6379> info server # Server redis_version:3.2.12 # Redis服務器的版本號。 redis_git_sha1:00000000 # Git SHA1。 redis_git_dirty:0 # GIT臟數據標志 redis_build_id:7897e7d0e13773f redis_mode:standalone os:Linux 3.10.0-957.21.3.el7.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll # Redis使用的事件循環機制。 gcc_version:4.8.5 process_id:29581 # Redis服務器進程的進程號(PID)。 run_id:3739b19f38ecf64bac40b2b7704d799573f2d6c6 # 用于標識Redis服務器的隨機值(Redis的哨兵模式和集群模式會使用這個隨機值)。 tcp_port:6379 # TCP/IP的監聽端口。 uptime_in_seconds:2226082 # Redis服務器啟動至今的時間,以秒為單位。 uptime_in_days:25 # Redis服務器啟動至今的時間,以天為單位。 hz:10 lru_clock:5319706 # 每分鐘都會遞增的時鐘,用于LRU(Least Recently Used,最近最少使用)緩存管理。 executable:/root/redis-server # Redis服務器的可執行文件的路徑。 config_file:/etc/redis.conf # Redis服務器的配置文件的路徑。info client
127.0.0.1:6379> info clients # Clients connected_clients:1 # 客戶端連接的數量(來自從機的連接除外) client_longest_output_list:0 # 當前的客戶端連接之中,最長的輸出列表 client_biggest_input_buf:0 # 當前的客戶端連接之中,最大的輸入緩沖區 blocked_clients:0 # 由于阻塞調用(BLPOP、BRPOP、BRPOPLPUSH)而等待的客戶端的數量。info memory
127.0.0.1:6379> info memory # Memory used_memory:812544 # Redis使用它的內存分配器(可以是標準的libc、jemalloc或tcmalloc分配器)分配的內存總量,以字節為單位。 used_memory_human:793.50K # Redis使用它的內存分配器分配的內存總量,顯示為用戶易于閱讀的格式。 used_memory_rss:2146304 # 操作系統所看到的為Redis分配的內存總量(也被稱為“駐留集大小(Resident Set Size)”)。這個內存總量是由諸如top(1)和ps(1)之類的工具報告的。 used_memory_rss_human:2.05M # 操作系統所看到的為Redis分配的內存總量,顯示為用戶易于閱讀的格式。 used_memory_peak:813552 # Redis消耗的內存峰值,以字節為單位。 used_memory_peak_human:794.48K # Redis消耗的內存峰值,顯示為用戶易于閱讀的格式。 total_system_memory:1927405568 # 系統內存總量,以字節為單位 total_system_memory_human:1.80G # 系統內存總量,顯示為用戶易于閱讀的格式 used_memory_lua:37888 # Lua腳本引擎使用的內存總量,以字節為單位。 used_memory_lua_human:37.00K # Lua腳本引擎使用的內存總量,顯示為用戶易于閱讀的格式。 maxmemory:0 # Redis能夠使用的最大內存上限(0表示沒有限制),以字節為單位。 maxmemory_human:0B # Redis能夠使用的最大內存上限,顯示為用戶易于閱讀的格式。 maxmemory_policy:noeviction # Redis使用的內存回收策略,可以是noeviction、allkeys-lru、volatile-lru、allkeys-random、volatile-random或volatile-ttl。 mem_fragmentation_ratio:2.64 # used_memory_rss和used_memory之間的比率。 mem_allocator:jemalloc-3.6.0 # Redis使用的內存分配器,在編譯時選擇指定。在理想情況下,used_memory_rss的值只應當比used_memory的值稍微高一點。當常駐集內存(rss)遠大于已使用內存(used)時,這就意味著Redis服務器存在較多的內存碎片(內部的或外部的),這種情況可以通過檢查mem_fragmentation_ratio的值估計出來。當已使用內存(used)遠大于常駐集內存(rss)時,這就意味著有一部分Redis使用的內存被操作系統換出至磁盤了:可以預料到會產生明顯的延時。
因為,Redis無法控制如何將它分配的內存映射至內存頁面,當內存使用率飆升時,經常會導致較高的used_memory_rss值。
當Redis釋放內存時,會將內存歸還給分配器,然后分配器可能會(也可能不會)將內存歸還給操作系統。used_memory的值和操作系統報告的內存消耗值可能會有一些差異。這可能是由于Redis正在使用和釋放內存,但是釋放的內存尚未歸還給操作系統而導致的。通常,可以通過used_memory_peak的值來檢查Redis是否存在這種問題。
info persistence
127.0.0.1:6379> info 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保存操作的狀態。 rdb_last_bgsave_time_sec:最近一次RDB保存操作消耗的時間,以秒為單位。 rdb_current_bgsave_time_sec:如果Redis正在執行RDB保存操作,那么這個字段表示已經消耗的時間,以秒為單位。 aof_enabled:表示Redis是否啟用AOF日志功能的標志。 aof_rewrite_in_progress:表示Redis是否正在執行一次AOF重寫操作的標志。 aof_rewrite_scheduled:表示一旦Redis正在執行的RDB保存操作完成之后,是否就會調度執行AOF重寫操作的標志。 aof_last_rewrite_time_sec:最近一次AOF重寫操作消耗的時間,以秒為單位。 aof_current_rewrite_time_sec:如果Redis正在執行AOF重寫操作,那么這個字段表示已經消耗的時間,以秒為單位。 aof_last_bgrewrite_status:ok:最近一次AOF重寫操作的狀態。 aof_last_write_status:ok- 如果啟用了AOF功能,那么persistence分段將會新增額外的字段,如下所示:
- 如果Redis正在執行加載操作,那么persistence分段將會新增額外的字段,如下所示:
info stats
127.0.0.1:6379> info stats # Stats total_connections_received:Redis服務器接受的連接總數。 total_commands_processed:Redis服務器處理的命令總數。 instantaneous_ops_per_sec:每秒鐘處理的命令數量。 total_net_input_bytes:通過網絡接收的數據總量,以字節為單位。 total_net_output_bytes:通過網絡發送的數據總量,以字節為單位。 instantaneous_input_kbps:每秒鐘接收數據的速率,以kbps為單位。 instantaneous_output_kbps:每秒鐘發送數據的速率,以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:客戶端訂閱的發布/訂閱頻道的總數量。 pubsub_patterns:客戶端訂閱的發布/訂閱模式的總數量。 latest_fork_usec:最近一次fork操作消耗的時間,以微秒為單位。 migrate_cached_sockets:遷移已緩存的套接字的數量。info commandstats
127.0.0.1:6379> info commandstats # Commandstats cmdstat_get:calls=5,usec=30,usec_per_call=6.00 cmdstat_set:calls=11,usec=140,usec_per_call=12.73 cmdstat_del:calls=1,usec=5,usec_per_call=5.00 cmdstat_exists:calls=3,usec=10,usec_per_call=3.33 cmdstat_sadd:calls=2,usec=47,usec_per_call=23.50 cmdstat_mset:calls=1,usec=23,usec_per_call=23.00 cmdstat_expire:calls=1,usec=8,usec_per_call=8.00 cmdstat_keys:calls=4,usec=79,usec_per_call=19.75 cmdstat_dbsize:calls=1,usec=2,usec_per_call=2.00 cmdstat_type:calls=2,usec=11,usec_per_call=5.50 cmdstat_info:calls=104,usec=6071,usec_per_call=58.38 cmdstat_ttl:calls=4,usec=20,usec_per_call=5.00 cmdstat_client:calls=5,usec=78,usec_per_call=15.60 cmdstat_command:calls=7,usec=4174,usec_per_call=596.29info cpu
127.0.0.1:6379> info cpu # CPU used_cpu_sys:1300.85 used_cpu_user:780.14 used_cpu_sys_children:0.01 used_cpu_user_children:0.00info cluster
127.0.0.1:6379> info cluster # Cluster cluster_enabled:0 # 表示是否啟用Redis集群功能的標志。info keyspace
127.0.0.1:6379> info keyspace # Keyspace db0:keys=6,expires=0,avg_ttl=0 # 一個XXX表示數據庫的編號,第二個XXX表示鍵的數量,第三個XXX表示具有過期時間的鍵的數量,第四個XXX表示鍵的平均生存時間。總結
以上是生活随笔為你收集整理的Redis运维和开发学习笔记(6) 监控Redis工作状态-info命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 暗区突围人物发白怎么办
- 下一篇: Redis运维和开发学习笔记(7) 内存