linux怎么查看redis的状态,查看redis是否正常运行
https://my.oschina.net/tongyufu/blog/405612
redis-cli连接到服务器后,使用info命令查看redis信息和状态:
信息
内存段显示redis的内存使用状态。
以下内容抄袭自:http://redisdoc.com/server/info.html
信息[部分]
以易于解析和阅读的格式返回关于Redis服务器的各种信息和统计数据。
通过给出一个可选的参数部分,可以使命令只返回一些信息:
服务器部分记录Redis服务器的信息,包含以下域:
Redis_version: Redis服务器版本
雷迪斯_吉特_sha1:吉特sha1
redis_git_dirty: Git dirty标志
Os:主机操作系统os: Redis服务器。
Arch_bits:架构(32或64位)
multiplexing _ API:Redis使用的事件处理机制
Gcc_version:编译Redis时使用的Gcc版本。
Process_id:服务器进程的PID
run _ id:Redis服务器的随机标识符(用于Sentinel和cluster)
Tcp_port: TCP/IP监听端口
uptime _ in _ seconds:Redis服务器启动后经过的秒数。
uptime _ in _ days:Redis服务器启动后的天数。
Lru_clock:以分钟为单位递增的时钟,用于Lru管理。
客户端部分记录连接的客户端的信息,它包含以下域:
Connected_clients:连接的客户端数量(不包括通过从属服务器连接的客户端)
Client_longest_output_list:当前连接的客户端中最长的输出列表。
Client_longest_input_buf:当前连接的客户端中的最大输入缓存。
Blocked_clients:等待阻塞命令的客户端数量(BLPOP,BRPOP,BRPOPLPUSH)
内存部分记录了服务器的内存信息,它包含以下域:
理想情况下,used_memory_rss的值应该只比used_memory稍高一点。
当使用RSS rss,且两个值相差较大时,说明存在(内部或外部)内存碎片。
内存碎片的比例可以通过mem_fragmentation_ratio的值来看。
当使用rss时,指示Redis的部分内存被操作系统换出到交换空间。在这种情况下,操作可能会导致明显的延迟。
因为Redis无法控制其分配如何映射到内存页面,highused _ memory _ rssis通常是内存使用量激增的结果。
当Redis释放内存时,分配器可能会也可能不会将内存返回给操作系统。
如果Redis释放内存,但没有将其返回给操作系统,那么used_memory的值可能与操作系统显示的Redis内存占用情况不一致。
检查used_memory_peak的值以验证是否会发生这种情况。
used _ memory:Redis分配器分配的内存总量,以字节为单位。
Used_memory_human:以人类可读的格式返回Redis分配的内存总量。
Used_memory_rss:从操作系统的角度,返回Redis分配的内存总量(俗称常驻集大小)。该值与top、ps等命令的输出一致。
used _ memory _ peak:Redis:Redis的峰值内存消耗(字节)
Used_memory_peak_human:以人类可读的格式返回Redis的峰值内存消耗。
Used_memory_lua: Lua引擎使用的内存大小(以字节为单位)
mem _ fragmentation _ ratio:used_memory _ RSS与used _ memory的比值。
Mem_allocator:在编译时指定的、由Redis使用的内存分配器。它可以是libc、jemalloc或tcmalloc。
“持久性”部分记录了与RDB持久性和AOF持久性相关的信息,它包含以下字段:
如果AOF持久性功能打开,以下字段将添加到此部分:
aof _ current _ size:aof文件的当前大小。
Aof_base_size:服务器启动时或最近一次Aof重写后AOF文件的大小。
Aof_pending_rewrite:一个标志值,记录等待RDB文件创建后是否有Aof重写操作要执行。
Aof_buffer_length: AOF:缓冲区的大小。
AOF重写缓冲区长度:AOF重写缓冲区的大小。
Aof_pending_bio_fsync:后台I/O队列中等待执行的fsync调用的数量。
Aof_delayed_fsync:延迟的fsync调用数。
Loading:一个标志值,记录服务器是否正在加载持久文件。
Rdb_changes_since_last_save:自上次成功创建持久性文件以来已经过去了多少秒。
Rdb_bgsave_in_progress:一个标志值,记录服务器是否正在创建Rdb文件。
Rdb_last_save_time:上次成功创建Rdb文件的UNIX时间戳。
Rdb_last_bgsave_status:记录上次Rdb文件创建成功或失败的标志值。
Rdb_last_bgsave_time_sec:记录创建最后一个Rdb文件所用的秒数。
Rdb_current_bgsave_time_sec:如果服务器正在创建Rdb文件,该字段记录当前创建操作所用的秒数。
Aof_enabled:记录Aof是否打开的标志值。
Aof_rewrite_in_progress:一个标志值,记录服务器是否正在创建Aof文件。
Aof_rewrite_scheduled:一个标志值,记录在创建RDB文件后是否需要执行预定的Aof重写操作。
Aof_last_rewrite_time_sec:创建Aof文件的最后一次时间。
Aof_current_rewrite_time_sec:如果服务器正在创建Aof文件,则该字段记录当前创建操作所用的秒数。
Aof_last_bgrewrite_status:一个标志值,记录Aof文件的最新创建是成功还是失败。
stats部分记录常规统计信息,它包含以下字段:
Total_connections_received:服务器接受的连接请求数。
Total_commands_processed:服务器执行的命令数。
Instaneous _ ops _ per _ sec:服务器每秒执行的命令数。
Rejected_connections:由于最大数量的客户端而被拒绝的连接请求的数量。
Expired_keys:由于过期而自动删除的数据库键的数量。
Evicted_keys:由于最大内存容量限制而被收回的键的数量。
Keyspace_hits:数据库键查找成功的次数。
Keyspace_misses:数据库键查找失败的次数。
Pubsub_channels:当前订阅的通道数。
Pubsub_patterns:当前订阅的模式数。
Latest_fork_usec:上一次fork()操作花费的毫秒数。
复制:主/从复制信息
如果当前服务器是从属服务器,以下字段将添加到此部分:
如果同步操作正在进行,则以下字段将添加到此部分:
如果主服务器和从服务器之间的连接断开,以下字段将添加到此部分:
以下是一些总是出现的域:
对于每个从属服务器,将添加以下信息行:
SlaveXXX: ID,IP地址,端口号,连接状态
Connected_slaves:连接的从属服务器的数量。
Master_link_down_since_seconds:主服务器和从服务器之间的连接断开的秒数。
Master_sync_left_bytes:同步完成后丢失了多少字节的数据?
master _ SYNC _ last _ io _ seconds _ ago:由于同步操作,自上次I/O以来已经过去了多少秒。
主服务器的IP地址。
Master_port:主服务器的TCP监听端口号。
Master_link_status:复制连接的当前状态。向上表示连接正常,向下表示连接断开。
Master_last_io_seconds_ago:自上次与主服务器通信以来已经过去了多少秒。
Master_sync_in_progress:一个标志值,记录主服务器是否与这个从服务器同步。
角色:如果当前服务器没有复制任何其他服务器,则该域的值为master。否则,该字段的值为slave。请注意,创建复制链时,从服务器也可能是另一个服务器的主服务器。
cpu部分记录CPU的计算统计信息,它包含以下字段:
used _ CPU _ sys:Redis服务器消耗的系统CPU。
used _ CPU _ user:Redis服务器消耗的用户CPU。
Used_cpu_sys_children:后台进程消耗的系统cpu。
已用_ cpu _用户_孩子:后台进程耗费的用户中央处理器。
命令状态部分记录了各种不同类型的命令的执行统计信息,比如命令执行的次数、命令耗费的中央处理器时间、执行每个命令耗费的平均中央处理器时间等等。对于每种类型的命令,这个部分都会添加一行以下格式的信息:
cmdstat_XXX:calls=XXX,usec=XXX,usecpercall=XXX
串部分记录了和集群有关的信息,它包含以下域:
群集启用:一个标志值,记录集群功能是否已经开启。
密钥空间部分记录了数据库相关的统计信息,比如数据库的键数量、数据库已经被删除的过期键数量等。对于每个数据库,这个部分都会添加一行以下格式的信息:
dbXXX:keys=XXX,expires=XXX
除上面给出的这些值以外,部分参数的值还可以是下面这两个:
全部:返回所有信息
默认值:返回默认选择的信息
当不带参数直接调用信息命令时,使用系统默认值作为默认参数。
不同版本的使用心得可能对返回的一些域进行了增加或删减。
因此,一个健壮的客户端程序在对信息命令的输出进行分析时,应该能够跳过不认识的域,并且妥善地处理丢失不见的域。
可用版本:
=1.0.0
时间复杂度:
O(1)
返回值:
具体请参见下面的测试代码。
存储信息
#服务器
redis_version:2.9.11
redis_git_sha1:937384d0
redis_git_dirty:0
redis_build_id:8e9509442863f22
redis _模式:独立
操作系统:Linux 3。13 .0-35-通用x86_64
arch _ bit:64
多路复用_api:epoll
gcc _版本:4.8.2
进程编号:4716
运行id:26186 AAC 3f 2380 aaee 9 eef 21 cc 50 aecd 542d 97 DC
传输控制协议端口:6379
正常运行时间:362秒
正常运行时间天数:0
赫兹:10
lru _时钟:1725349
配置文件:
客户数量
已连接的_客户端:1
客户端最长输出列表:0
客户端最大输入缓冲区:0
被阻止的客户端数:0
#内存
已用内存:508536
已用_内存_人类:496.62万英镑
used_memory_rss:7974912
used_memory_peak:508536
已用_内存_峰值_人类:496.62万英镑
used_memory_lua:33792
内存碎片率:15.68
内存分配器:jemalloc-3.2.0
#坚持不懈
正在加载:0
rdb _ changes _自_最后_保存:6
rdb_bgsave_in_progress:0
关系数据库最后保存时间:1411011131
rdb_last_bgsave_status:正常
rdb_last_bgsave_time_sec:-1
rdb_current_bgsave_time_sec:-1
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:正常
aof _最后写入_状态:正常
#统计数据
接收的总连接数:2
已处理的命令总数:4
每秒瞬时操作数:0
拒绝的连接数:0
同步_完整:0
同步_部分_确定:0
同步部分错误:0
过期密钥数:0
逐出的密钥数:0
keyspace_hits:0
keyspace _ misses
发布订阅频道:0
pubsub_patterns:0
最新_分叉_使用丙:0
迁移缓存套接字:0
#复制
角色:主人
已连接_从设备:0
主副本偏移量:0
repl_backlog_active:0
repl_backlog_size:1048576
repl _ backlog _ first _ byte _ offset:0
repl_backlog_histlen:0
# CPU
已用中央处理器系统:0.21
已用中央处理器用户:0.17
已用中央处理器系统子代:0.00
已用中央处理器用户子女数:0.00
#集群
群集已启用:0
#键空间
db0:keys=2,expires=0,avg_ttl=0
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。