利用 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
# Server
redis_version:6.2.3
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:066a8018c79b9d54
redis_mode:standalone
os:Linux 5.11.0-27-generic x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:9.3.0
process_id:18919
run_id:fb9fd38bca6d81ffb775c1141552e2b91943ef96
tcp_port:6379
uptime_in_seconds:11696
uptime_in_days:0
hz:10
configured_hz:10
lru_clock:20003794
executable:/usr/bin/redis-server
config_file:

# Clients
connected_clients:1
client_recent_max_input_buffer:2
client_recent_max_output_buffer:0
blocked_clients:0

# Memory
used_memory:157848888
used_memory_human:150.49M
used_memory_rss:171810560
used_memory_peak:171139496
used_memory_peak_human:163.16M
used_memory_peak_perc:92.24%
used_memory_overhead:6217099
used_memory_startup:1578152
used_memory_dataset:151632789
used_memory_dataset_perc:96.07%
allocator_allocated:157848888
allocator_active:162310912
allocator_resident:876027136
total_system_memory:2005565952
total_system_memory_human:1.87G
used_memory_lua:6144
used_memory_lua_human:6.00K
used_memory_scripts:0
used_memory_scripts_human:0B
number_of_cached_scripts:0
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
allocator_frag_ratio:1.03
allocator_frag_bytes:4466072
allocator_rss_ratio:5.39
allocator_rss_bytes:713716224
rss_overhead_ratio:0.20
rss_overhead_bytes:-70421632
mem_fragmentation_ratio:1.09
mem_fragmentation_bytes:13962672
mem_not_counted_for_evict:0
mem_replication_backlog:0
mem_clients_slaves:0
mem_clients_normal:1
mem_aof_buffer:0
mem_allocator:jemalloc-5.2.1
# Persistence
loading:0
rdb_changes_since_last_save:4
rdb_bgsave_in_progress:0
rdb_last_save_time:1640458723
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:2097152
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
aof_last_cow_size:0

# Stats
total_connections_received:53
total_commands_processed:60
instantaneous_ops_per_sec:0
total_net_input_bytes:10331
total_net_output_bytes:85536
instantaneous_input_kbps:0.00
instantaneous_output_kbps:0.00
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:1946
migrate_cached_sockets:0
# Replication
role:master
connected_slaves:0
master_replid:24c4f4cf08ef9924a461891138020bc66b063ca5
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

# CPU
used_cpu_sys:66.649558
used_cpu_user:10.144010
used_cpu_sys_children:0.060000
used_cpu_user_children:0.060000

# Commandstats
cmdstat_info:calls=1,usec=0,usec_per_call=0.00
cmdstat_monitor:calls=53,usec=47295,usec_per_call=891.60
cmdstat_role:calls=1,usec=398,usec_per_call=398.00
# Cluster
cluster_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


数据运维技术 » 利用 Redis 查看系统资源占用情况(redis 查看占用情况)