利用 Redis 查看系统资源占用情况(redis 查看占用情况)
利用 Redis 查看系统资源占用情况
Redis是一种开源的高性能Key-Value存储系统,由于其卓越的性能和可靠性,已经被广泛应用于互联网应用中。
除了作为缓存系统之外,Redis还可以用于监控系统资源的占用情况。通过利用Redis提供的一些命令,可以轻松地查看当前系统的CPU、内存、磁盘等资源的使用情况。
在Linux系统下,可以使用如下命令来安装Redis:
sudo apt-get install redis-server
安装完成之后,可以通过redis-cli命令进入Redis命令行界面。
进入Redis命令行界面后,可以使用如下命令查看当前Redis实例的一些基本信息:
127.0.0.1:6379> INFO
# Serverredis_version:6.2.3
redis_git_sha1:00000000redis_git_dirty:0
redis_build_id:066a8018c79b9d54redis_mode:standalone
os:Linux 5.11.0-27-generic x86_64arch_bits:64
multiplexing_api:epollatomicvar_api:atomic-builtin
gcc_version:9.3.0process_id:18919
run_id:fb9fd38bca6d81ffb775c1141552e2b91943ef96tcp_port:6379
uptime_in_seconds:11696uptime_in_days:0
hz:10configured_hz:10
lru_clock:20003794executable:/usr/bin/redis-server
config_file:
# Clientsconnected_clients:1
client_recent_max_input_buffer:2client_recent_max_output_buffer:0
blocked_clients:0
# Memoryused_memory:157848888
used_memory_human:150.49Mused_memory_rss:171810560
used_memory_peak:171139496used_memory_peak_human:163.16M
used_memory_peak_perc:92.24%used_memory_overhead:6217099
used_memory_startup:1578152used_memory_dataset:151632789
used_memory_dataset_perc:96.07%allocator_allocated:157848888
allocator_active:162310912allocator_resident:876027136
total_system_memory:2005565952total_system_memory_human:1.87G
used_memory_lua:6144used_memory_lua_human:6.00K
used_memory_scripts:0used_memory_scripts_human:0B
number_of_cached_scripts:0maxmemory:0
maxmemory_human:0Bmaxmemory_policy:noeviction
allocator_frag_ratio:1.03allocator_frag_bytes:4466072
allocator_rss_ratio:5.39allocator_rss_bytes:713716224
rss_overhead_ratio:0.20rss_overhead_bytes:-70421632
mem_fragmentation_ratio:1.09mem_fragmentation_bytes:13962672
mem_not_counted_for_evict:0mem_replication_backlog:0
mem_clients_slaves:0mem_clients_normal:1
mem_aof_buffer:0mem_allocator:jemalloc-5.2.1
# Persistenceloading:0
rdb_changes_since_last_save:4rdb_bgsave_in_progress:0
rdb_last_save_time:1640458723rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:2097152aof_enabled:0
aof_rewrite_in_progress:0aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:okaof_last_write_status:ok
aof_last_cow_size:0
# Statstotal_connections_received:53
total_commands_processed:60instantaneous_ops_per_sec:0
total_net_input_bytes:10331total_net_output_bytes:85536
instantaneous_input_kbps:0.00instantaneous_output_kbps:0.00
rejected_connections:0sync_full:0
sync_partial_ok:0sync_partial_err:0
expired_keys:0evicted_keys:0
keyspace_hits:0keyspace_misses:0
pubsub_channels:0pubsub_patterns:0
latest_fork_usec:1946migrate_cached_sockets:0
# Replicationrole:master
connected_slaves:0master_replid:24c4f4cf08ef9924a461891138020bc66b063ca5
master_replid2:0000000000000000000000000000000000000000master_repl_offset:0
second_repl_offset:-1repl_backlog_active:0
repl_backlog_size:1048576repl_backlog_first_byte_offset:0
repl_backlog_histlen:0
# CPUused_cpu_sys:66.649558
used_cpu_user:10.144010used_cpu_sys_children:0.060000
used_cpu_user_children:0.060000
# Commandstatscmdstat_info:calls=1,usec=0,usec_per_call=0.00
cmdstat_monitor:calls=53,usec=47295,usec_per_call=891.60cmdstat_role:calls=1,usec=398,usec_per_call=398.00
# Clustercluster_enabled:0
# Keyspace
其中,上述命令会返回如下Redis实例的基本信息:
– Server:返回Redis服务器的基本信息,包括版本、Git Commit哈希值、编译ID、运行模式、操作系统、架构、多路复用API、原子变量API、GCC版本、PID、运行ID、TCP端口、已经运行的时间、频率(即每秒执行检查键空间环节的次数)、已配置的频率、LRU时钟、可执行的程序、配置文件等;
– Clients:返回Redis的客户端信息,包括当前连接的客户端数、客户端输入缓冲区的最大值、客户端输出缓冲区的最大值、被阻塞的客户端数;
– Memory:返回Redis实例使用的内存信息,包括已使用的内存、已使用的内存(人类可读格式)、正在使用的RSS(Resident Set Size在RAM中的部分)、最大的内存使用量历史峰值、最大的内存占路用率历史峰值、当前内存使用的下属空间(-overhead)、Redis启动后分配的内存、真正存储键值对的数据结构使用的内存、内存碎片率、内存碎片大小、操作系统没有计数的内存、复制操作用的缓冲区、Slaves和Clients占用的内存(用于在Info命令中显示);
– Persistence:返回持久化相关的信息,包括RDB(Redis数据库文件)持久化的相关信息,AOF(Append-only file,即Redis的追加日志文件)持久化的相关信息;
– Stats:返回统计信息,包括Redis服务器接收的总连接数、Redis服务器执行的总命令数、Redis服务器执行的瞬时操作数、Redis服务器接收到的总字节数、Redis服务器发送的总字节数、Redis服务器瞬时接收数据的速率、Redis服务器瞬时发送数据的速率、拒绝连接的客户端的总数、同步操作相关的统计、过期键和失效键的数量、命中的和未命中的键数、通过PUB / SUB收听的通道和模式的数量、最近一次成功执行FORK()函数的耗时、迁移工具中缓存的套接字数等;
– Replication:返回复制相关的信息,包括Redis服务器的角色(主服务器/从服务器)、连接到当前服务器的从服务器的数量、主服务器的复制ID、从服务器的复制ID、主库的复制偏移量、从库的复制偏移量、正在使用复制缓冲区的状态、复制缓冲区的大小、复制缓冲区中第一个字节的偏移量、复制缓冲区历史长度等;
– CPU:返回Redis服务器的CPU占用情况,包括Redis服务器在内核模式下花费的CPU时间、Redis服务器在用户模式下花费的CPU时间;
– Commandstats:返回Redis实例中执行Redis