4

たとえば、データを設定または挿入するたびに、メモリの使用量をリアルタイムで確認したいのですが、メモリの増加量と全体の使用量を知りたいです。

INFOコマンドを使用しようとして、 used_memoryorused_memory_*プロパティが機能するかどうかを確認しますが、システムによって割り当てられたメモリしか表示されないことがわかりました。新しいデータを挿入した後に確認するたびに、それらは同じままです

Redis で使用されているリアルタイム メモリを確認する方法はありますか?

4

1 に答える 1

4

used_memory フィールドは、探しているものです。あなたが言ったように、システムによって割り当てられたメモリではありません。これは、プロセスメモリアロケータによってRedisに与えられたメモリです。

例:

> info memory
...
used_memory:541368
...
> set y "titi"
OK
> info memory
...
used_memory:541448       # i.e. +80 bytes
...
> del y
(integer) 1
> info memory
...
used_memory:541368
...

Redis は多くのメモリ関連の最適化を行うことに注意してください。たとえば、小さい整数を含む値を因数分解できます。または、既存の文字列にデータを追加する場合、対応するバッファーは追加操作ごとに大きくなりません。したがって、これらの最適化によっては、特定の一連の操作に対するメモリ使用量の増減が常に一貫しているわけではありません。

于 2013-11-05T10:07:30.480 に答える