INFO コマンドは、サーバに関する情報と統計を、コンピュータによる解析が簡単で人が読みやすい形式で返します。
情報の特定のセクションを選択するためにオプションのパラメータを使うことができます:
-
server
: Redisサーバについての一般情報 -
clients
: クライアント接続セクション -
memory
: メモリ消費に関する情報 -
persistence
: RDB と AOF に関する情報 -
stats
: 一般的な統計 -
replication
: マスタ/レプリカ リプリケーション情報 -
cpu
: CPU 消費統計 -
commandstats
: Redis コマンド統計 -
cluster
: Redis クラスタ セクション -
modules
: モジュール セクション -
keyspace
: データベースに関する統計 -
modules
: セクションに関連するモジュール
以下の値を取ることもできます:
-
all
: 全てのセクション(生成されたモジュールを除く)を返します -
default
: セクションのデフォルトのセットのみを返します -
everything
:all
とmodules
を含みます
パラメータが指定されない場合は、default
オプションが使用されます。
*返り値
Bulk string reply: テキスト行の集まりとして。
行にはセクション名(# 文字で始まる)あるいはプロパティを含めることができます。全てのプロパティは\r\n
で終わるfield:value
の形式です。
# Server redis_version:6.0.8 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:10442eda66c31c63 redis_mode:standalone os:Linux 5.4.0-1017-aws x86_64 arch_bits:64 multiplexing_api:epoll atomicvar_api:atomic-builtin gcc_version:9.3.0 process_id:304029 run_id:d9a2dd77321a631b894c2360512731471e56297f tcp_port:6379 uptime_in_seconds:1041093 uptime_in_days:12 hz:10 configured_hz:10 lru_clock:6945205 executable:/usr/local/bin/redis-server config_file:/etc/redis/redis.conf io_threads_active:0 # Clients connected_clients:2 client_recent_max_input_buffer:2 client_recent_max_output_buffer:0 blocked_clients:0 tracking_clients:0 clients_in_timeout_table:0 # Memory used_memory:121502344 used_memory_human:115.87M used_memory_rss:128983040 used_memory_rss_human:123.01M used_memory_peak:121502344 used_memory_peak_human:115.87M used_memory_peak_perc:100.00% used_memory_overhead:35689660 used_memory_startup:803016 used_memory_dataset:85812684 used_memory_dataset_perc:71.10% allocator_allocated:121501792 allocator_active:121880576 allocator_resident:128131072 total_system_memory:16596942848 total_system_memory_human:15.46G used_memory_lua:37888 used_memory_lua_human:37.00K used_memory_scripts:0 used_memory_scripts_human:0B number_of_cached_scripts:0 maxmemory:200000000 maxmemory_human:190.73M maxmemory_policy:allkeys-lru allocator_frag_ratio:1.00 allocator_frag_bytes:378784 allocator_rss_ratio:1.05 allocator_rss_bytes:6250496 rss_overhead_ratio:1.01 rss_overhead_bytes:851968 mem_fragmentation_ratio:1.06 mem_fragmentation_bytes:7564232 mem_not_counted_for_evict:0 mem_replication_backlog:0 mem_clients_slaves:0 mem_clients_normal:33972 mem_aof_buffer:0 mem_allocator:jemalloc-5.1.0 active_defrag_running:0 lazyfree_pending_objects:0 # Persistence loading:0 rdb_changes_since_last_save:3217434 rdb_bgsave_in_progress:0 rdb_last_save_time:1599739632 rdb_last_bgsave_status:ok rdb_last_bgsave_time_sec:-1 rdb_current_bgsave_time_sec:-1 rdb_last_cow_size:0 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 module_fork_in_progress:0 module_fork_last_cow_size:0 # Stats total_connections_received:83268 total_commands_processed:7902687 instantaneous_ops_per_sec:72 total_net_input_bytes:655142757 total_net_output_bytes:120245977 instantaneous_input_kbps:5.64 instantaneous_output_kbps:0.65 rejected_connections:0 sync_full:0 sync_partial_ok:0 sync_partial_err:0 expired_keys:21967 expired_stale_perc:0.00 expired_time_cap_reached_count:0 expire_cycle_cpu_milliseconds:25981 evicted_keys:0 keyspace_hits:1828483 keyspace_misses:835261 pubsub_channels:0 pubsub_patterns:0 latest_fork_usec:0 migrate_cached_sockets:0 slave_expires_tracked_keys:0 active_defrag_hits:0 active_defrag_misses:0 active_defrag_key_hits:0 active_defrag_key_misses:0 tracking_total_keys:0 tracking_total_items:0 tracking_total_prefixes:0 unexpected_error_replies:0 total_reads_processed:7982061 total_writes_processed:7970498 io_threaded_reads_processed:0 io_threaded_writes_processed:0 # Replication role:master connected_slaves:0 master_replid:91703201ead682565210bb53edb8dbbf7cd86e62 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:749.046004 used_cpu_user:2786.501545 used_cpu_sys_children:0.000000 used_cpu_user_children:0.000000 # Modules # Cluster cluster_enabled:0 # Keyspace db0:keys=661596,expires=4,avg_ttl=6808157181
*注意
Redisのバージョンによっては幾つかのフィールドが追加あるいは削除されていることに注意してください。従って堅牢なクライアントアプリケーションは未知のプロパティをスキップしてこのコマンドの結果を解析し、不足しているフィールドを適切に処理する必要があります。
以下は Redis >= 2.4 のフィールドの説明です。
server セクションの全てのフィールドの意味は次の通りです:
-
redis_version
: Redisサーバのバージョン -
redis_git_sha1
: Git SHA1 -
redis_git_dirty
: Git dirty フラグ -
redis_build_id
: ビルド id -
redis_mode
: サーバのモード ("standalone", "sentinel" あるいは "cluster") -
os
: Redisサーバをホストしているオペレーティングシステム -
arch_bits
: アーキテクチャ (32 あるいは 64ビット) -
multiplexing_api
: Redisによって使われるイベント ループ機構 -
atomicvar_api
: Redisによって使われるAtomicvar API -
gcc_version
: Redisサーバをコンパイルするために使われたGCCコンパイラのバージョン -
process_id
: サーバプロセスのPID -
run_id
: Redisサーバを識別するランダムな値 (Sentinel と Cluster で使われます) -
tcp_port
: TCP/IP listen ポート -
uptime_in_seconds
: Redisサーバが起動してからの秒数 -
uptime_in_days
: 日数で表される同じ値 -
hz
: サーバの現在の頻度設定 -
configured_hz
: サーバの設定済みの頻度設定 -
lru_clock
: LRU管理用に毎分インクリメントするクロック -
executable
: サーバの実行可能ファイルへのパス -
config_file
: 設定ファイルへのパス
clients セクションの全てのフィールドの意味は次の通りです:
-
connected_clients
: クライアント接続の数 (レプリカからの接続を除く) -
client_longest_output_list
: 現在のクライアント接続の中で最も長い出力リスト -
client_biggest_input_buf
: 現在のクライアント接続の中で最も大きい入力バッファ -
blocked_clients
: ブロッキングコール (BLPOP, BRPOP, BRPOPLPUSH, BZPOPMIN, BZPOPMAX) で保留中のクライアント数 -
tracking_clients
: 追跡されている(CLIENT TRACKING) クライアント数 -
clients_in_timeout_table
: クライアントのタイムアウトテーブル内のクライアント数 -
io_threads_active
: I/Oスレッドがアクティブかどうかを示すフラグ
memory セクションの全てのフィールドの意味は次の通りです:
-
used_memory
: Redisがアロケータ (標準libc, jemalloc あるいは tcmallocなどの代替のアロケータ)を使用して割り当てた総バイト数 -
used_memory_human
: 前の値の人が読める形式の表現 -
used_memory_rss
: オペレーティングシステムから見たRedisが割り当てたバイト数 (別名 常駐セットサイズ)。これはtop(1)
とps(1)
のようなツールによって報告された数です -
used_memory_rss_human
: 前の値の人が読める形式の表現 -
used_memory_peak
: Redisによって消費されたピークメモリ (バイト単位) -
used_memory_peak_human
: 前の値の人の読める形式の表現 -
used_memory_peak_perc
:used_memory
のうちのused_memory_peak
のパーセンテージ -
used_memory_overhead
: サーバが内部データ構造を管理するために割り当てた全てのオーバーヘッドの合計バイト数 -
used_memory_startup
: 起動時にRedisが消費するメモリの初期バイト量 -
used_memory_dataset
: データセットのバイトサイズ (used_memory
からused_memory_overhead
を引いたもの) -
used_memory_dataset_perc
: 正味のメモリ使用量(used_memory
-used_memory_startup
)のうちのused_memory_dataset
のパーセンテージ -
total_system_memory
: Redisホストが持つメモリの総量 -
total_system_memory_human
: 前の値の人の読める形式の表現 -
used_memory_lua
: Luaエンジンによって使われるバイト数 -
used_memory_lua_human
: 前の値の人の読める形式の表現 -
used_memory_scripts
: キャッシュされたLuaスクリプトで使われるバイト数 -
used_memory_scripts_human
: 以前の値の人が読める形式の表現 -
maxmemory
:maxmemory
設定ディレクティブの値 -
maxmemory_human
: 前の値の人の読める形式の表現 -
maxmemory_policy
:maxmemory-policy
設定ディレクティブの値 -
mem_fragmentation_ratio
:used_memory_rss
とused_memory
の比率 -
mem_allocator
: コンパイル時に選択されたメモリ アロケータ -
active_defrag_running
: アクティブ デフラグメントがアクティブかどうかを示すフラグ -
lazyfree_pending_objects
: 解放されるのを待っているオブジェクトの数 (UNLINK、またはASYNCオプションを指定した FLUSHDB と FLUSHALLの呼び出しの結果)
理想的には、used_memory_rss
の値はused_memory
より少し高くなければなりません。rss >> used の場合、大きな違いはメモリのフラグメンテーション(内部的あるいは外部的)を意味します。これは mem_fragmentation_ratio
を調べることで評価することができます。used >> rss の場合、Redisのメモリがオペレーティングシステムによってスワップ オフされたことを意味します: かなりのレイテンシが予想されます。
Redisは割り当てがメモリページにどのようにマップされるかを制御できないため、高い used_memory_rss
がメモリ使用量の急上昇の結果であることがよくあります。
Redisがメモリを解放する時、メモリはアロケータに返され、アロケータはそのメモリをシステムに返すかもしれません。オペレーティングシステムによって報告されるように、used_memory
値とメモリの消費の間に食い違いがあるかもしれません。これはRedisによってメモリが使用および解放されたが、システムに戻されなかったことが原因である可能性があります。used_memory_peak
値は一般的にこの点を調べるために役立ちます。
MEMORY STATS コマンドとMEMORY DOCTORを参照することでサーバのメモリについての追加の内部的な情報を取得することができます。
persistence セクションの全てのフィールドの意味は次の通りです:
-
loading
: ダンプファイルのロードが進行中かどうかを示すフラグ -
rdb_changes_since_last_save
: 最後のダンプからの変更数 -
rdb_bgsave_in_progress
: RDBの保存が進行中かどうかを示すフラグ -
rdb_last_save_time
: 最後に成功したRDB保存のエポック ベースのタイムスタンプ -
rdb_last_bgsave_status
: 最後のRDB保存操作の状態 -
rdb_last_bgsave_time_sec
: 最後のRDB保存操作の秒単位の所要時間 -
rdb_current_bgsave_time_sec
: 進行中のRDB保存操作がある場合はその所要時間 -
rdb_last_cow_size
: 最後のRDB保存操作中の copy-on-write 割り当てのバイト単位のサイズ -
aof_enabled
: AOF ログが有効かどうかを示すフラグ -
aof_rewrite_in_progress
: AOF rewrite 操作が進行中であることを示すフラグ -
aof_rewrite_scheduled
: 進行中のRDB保存が完了すると AOF rewrite 操作がスケジュールされていることを示すフラグ。 -
aof_last_rewrite_time_sec
: 最後のAOF rewrite 操作の秒単位の所要時間 -
aof_current_rewrite_time_sec
: 進行中のAOF rewrite 操作がある場合はその所要時間 -
aof_last_bgrewrite_status
: 最後の AOF rewrite 操作の状態 -
aof_last_write_status
: AOFへの最後の書き込み操作の状態 -
aof_last_cow_size
: 最後のAOF rewrite 操作中の copy-on-write 割り当てのバイト単位のサイズ -
module_fork_in_progress
: モジュールのフォークが進行中であることを示すフラグ -
module_fork_last_cow_size
: 最後のモジュールフォーク操作中の copy-on-write 割り当てのバイト単位のサイズ
rdb_changes_since_last_save
は最後に SAVE あるいは BGSAVE が呼び出されてからデータセットに何らかの種類の変更を加えた操作の数を表します。
AOF が有効な場合は、以下の追加のフィールドが追加されます:
-
aof_current_size
: AOFの現在のファイルサイズ -
aof_base_size
: 最新の起動あるいは書き換え時のAOFファイルサイズ -
aof_pending_rewrite
: 進行中のRDB保存が完了すると AOF rewrite 操作がスケジュールされていることを示すフラグ。 -
aof_buffer_length
: AOF バッファのサイズ -
aof_rewrite_buffer_length
: AOF rewrite バッファのサイズ -
aof_pending_bio_fsync
: バックグランド I/O キュー内のfsync保留中のジョブの数 -
aof_delayed_fsync
: 遅延 fsync カウンタ
ロード操作が進行中の場合はこれらの追加のフィールドが追加されます:
-
loading_start_time
: ロード操作開始のエポック ベースのタイムスタンプ -
loading_total_bytes
: 総ファイルサイズ -
loading_loaded_bytes
: 既にロードされたバイト数 -
loading_loaded_perc
: 同じ値をパーセンテージで表したもの -
loading_eta_seconds
: ロードが完了するまでのETA秒数
stats セクションの全てのフィールドの意味は次の通りです:
-
total_connections_received
: サーバによって受け入れられた接続の総数 -
total_commands_processed
: サーバによって処理されたコマンドの総数 -
instantaneous_ops_per_sec
: 秒間あたりのコマンド処理数 -
total_net_input_bytes
: ネットワークから読み取られた総バイト数 -
total_net_output_bytes
: ネットワークに書き込まれた総バイト数 -
instantaneous_input_kbps
: 秒間あたりのネットワークの読み取り速度 KB/sec -
instantaneous_output_kbps
: 秒間あたりのネットワークの書き込み速度 KB/sec -
rejected_connections
:maxclients
制限のために拒否された接続の数 -
sync_full
: レプリカとの完全再同期の数 -
sync_partial_ok
: 受け入れられた部分再同期リクエストの数 -
sync_partial_err
: 拒否された部分再同期リクエストの数 -
expired_keys
: キーの期限切れイベントの総数 -
expired_stale_perc
: おそらく有効期限切れになったキーの割合 -
expired_time_cap_reached_count
: アクティブな有効期限サイクルが早期に停止した回数 -
expire_cycle_cpu_milliseconds
: アクティブな有効期限サイクルに費やされた累積時間 -
evicted_keys
:maxmemory
制限のために退去させられたキーの数 -
keyspace_hits
: メイン辞書内のキーの検索に成功した数 -
keyspace_misses
: メイン辞書内のキーの検索に失敗した数 -
pubsub_channels
: クライアント購読を持つ pub/sub チャンネルのグローバル数 -
pubsub_patterns
: クライアント購読を持つ pub/sub パターンのグローバル数 -
latest_fork_usec
: 最新のfork操作の所要時間のミリ秒 -
migrate_cached_sockets
: MIGRATEの目的で開かれているソケットの数 -
slave_expires_tracked_keys
: 失効目的で追跡されたキーの数 (書き込み可能なレプリカのみに適用可能) -
active_defrag_hits
: アクティブ デフラグ処理によって実行された値の再割り当ての数 -
active_defrag_misses
: アクティブ デフラグ処理によって開始された、打ち切られた値の再割り当ての数 -
active_defrag_key_hits
: アクティブにデフラグされたキーの数 -
active_defrag_key_misses
: アクティブ デフラグ プロセスによってスキップされたキーの数 -
tracking_total_keys
: サーバによって追跡されているキーの数 -
tracking_total_items
: 追跡されている項目の数。つまり各キーのクライアント数の合計 -
tracking_total_prefixes
: サーバのプレフィックステーブル内の追跡されたプレフィックスの数 (ブロードキャストモードにのみ適用可能) -
unexpected_error_replies
: AOFロードまたはレプリケーションからのエラーの型である予期しないエラー応答の数 -
total_reads_processed
: 処理された読み取りイベントの総数 -
total_writes_processed
: 処理された書き込みイベントの総数 -
io_threaded_reads_processed
: メインスレッドとI/Oスレッドによって処理された読み取りイベントの数 -
io_threaded_writes_processed
: メインスレッドとI/Oスレッドによって処理された書き込みイベントの数
replication セクションの全てのフィールドの意味は次の通りです:
-
role
: インスタンスが誰のレプリカでもない場合の値は "master"。あるいはインスタンスがマスタ インスタンスのレプリカである場合は "slave"。レプリカは他のレプリカのマスタになることができることに注意してください (連鎖レプリケーション)。 -
master_replid
: RedisサーバのレプリケーションID。 -
master_replid2
: フィエルオーバーの後に PSYNC によって使われる2次レプリケーションID。 -
master_repl_offset
: サーバの現在のレプリケーションのオフセット -
second_repl_offset
: レプリケーションIDが受け入れられるまでのオフセット -
repl_backlog_active
: レプリケーション バックログが有効であることを示すフラグ -
repl_backlog_size
: レプリケーション バックログ バッファの合計サイズのバイト -
repl_backlog_first_byte_offset
: レプリケーション バックログ バッファのマスターオフセット -
repl_backlog_histlen
: レプリケーション バックログ バッファ内のデータのサイズのバイト
インスタンスがレプリカの場合、以下の追加の情報が提供されます:
-
master_host
: マスタのホストあるいはIPアドレス -
master_port
: マスタの listening TCP ポート -
master_link_status
: リンクの状態 (up/down) -
master_last_io_seconds_ago
: マスタとの最後のやり取りからの秒数 -
master_sync_in_progress
: マスタがレプリカに同期していることを示す -
slave_repl_offset
: レプリカ インスタンスのレプリケーション オフセット -
slave_priority
: フェイルオーバーの候補としてのインスタンスの優先度 -
slave_read_only
: レプリカが読み取り専用かどうかを示すフラグ
もし SYNC 操作が進行中の場合は、以下の追加フィールドが追加されます:
-
master_sync_left_bytes
: 同期が完了するまでに残っているバイト数 -
master_sync_last_io_seconds_ago
: SYNC操作中の最後の入出力以降の秒数
もしマスタとレプリカの間のリンクがダウンしている場合は、以下のフィールドが提供されます:
-
master_link_down_since_seconds
: リンクがダウンしてからの秒数
以下のフィールドは常に提供されます:
-
connected_slaves
: 接続レプリカ数
もしサーバがmin-slaves-to-write
(または Redis 5 で min-replicas-to-write
) ディレクティブを使って設定されている場合は、以下の追加のフィールドが提供されます:
-
min_slaves_good_slaves
: 現在良好とみなされているレプリカの数
各レプリカについて、以下の行が追加されます:
-
slaveXXX
: id, IPアドレス, ポート, 状態, オフセット, 遅延
cpu セクションの全てのフィールドの意味は次の通りです:
-
used_cpu_sys
: Redisサーバによって消費されるシステムCPU -
used_cpu_user
:Redisサーバによって消費されるUser CPU -
used_cpu_sys_children
: バックグラウンド プロセスによって消費されるシステムCPU -
used_cpu_user_children
: バックグラウンド プロセスによって消費される User CPU
commandstats セクションは、呼び出しの数、これらのコマンドによって消費される総CPU時間、およびコマンドの実行ごとに消費される平均CPUを含む、コマンド型に基づいた統計を提供します。
各コマンド型について、以下の行が追加されます:
-
cmdstat_XXX
:calls=XXX,usec=XXX,usec_per_call=XXX
cluster セクションは現在のところ1つのユニークなフィールドのみを含みます:
-
cluster_enabled
: Redisクラスタが有効かどうかを示す
modulesセクションには、モジュールが提供する場合、ロードされたモジュールについての追加情報が含まれます。このセクションのプロパティ行のフィールド部分には、常にモジュール名のプリフィックスが付いています。
keyspace セクションは各データベースのメイン辞書の統計を提供します。統計情報は、キーの数、および有効期限の切れたキーの数です。
各データベースについて、以下の行が追加されます:
-
dbXXX
:keys=XXX,expires=XXX
このマニュアルのページで使われているスレーブという語についての注意: Redis 5 から下位互換性のためではない場合に、Redisプロジェクトはスレーブという語をもう使わなくなりました。残念ながらこのコマンドではスレーブという単語はプロトコルの一部です。ですので、このAPIが自然に廃止される時に限り、そのような出現を削除することができます。
モジュールで生成されたセクション: Redis 6以降、モジュールは情報をINFOコマンドに挿入できます。これらはall
引数の場合でもデフォルトで除外されます (ロードされたモジュールのリストは含まれますが、生成された情報フィールドは含まれません)。これらを取得するには、modules
引数またはeverything
のいずれかを使う必要があります。