tutorial labs aws redis

labs - redis vs mongodb



¿Cómo depurar el error "comando OOM no permitido cuando se usa la memoria> ''maxmemory''" en Redis? (5)

¿Alguna posibilidad de que haya cambiado el número de bases de datos? Si usa un número muy grande, entonces el uso de memoria inicial puede ser alto

Cuando intento configurar una clave, maxmemory "OOM comando no permitido", maxmemory se establece en 500M con maxmemory-policy "volatile-lru", estoy configurando TTL para cada clave enviada a redis.

INFO comando INFO devuelve: used_memory_human:809.22M

  1. Si maxmemory se establece en 500M, ¿cómo llegué a 809M?
  2. INFO comando INFO no muestra espacios en clave, ¿cómo es posible?
  3. KEYS * devuelve "(lista vacía o conjunto)", he intentado cambiar el número de db, aún no se han encontrado claves.

Aquí está la salida del comando info:

redis-cli -p 6380 redis 127.0.0.1:6380> info # Server redis_version:2.6.4 redis_git_sha1:00000000 redis_git_dirty:0 redis_mode:standalone os:Linux 2.6.32-358.14.1.el6.x86_64 x86_64 arch_bits:64 multiplexing_api:epoll gcc_version:4.4.7 process_id:28291 run_id:229a2ee688bdbf677eaed24620102e7060725350 tcp_port:6380 uptime_in_seconds:1492488 uptime_in_days:17 lru_clock:1429357 # Clients connected_clients:1 client_longest_output_list:0 client_biggest_input_buf:0 blocked_clients:0 # Memory used_memory:848529904 used_memory_human:809.22M used_memory_rss:863551488 used_memory_peak:848529192 used_memory_peak_human:809.22M used_memory_lua:31744 mem_fragmentation_ratio:1.02 mem_allocator:jemalloc-3.0.0 # Persistence loading:0 rdb_changes_since_last_save:0 rdb_bgsave_in_progress:0 rdb_last_save_time:1375949883 rdb_last_bgsave_status:ok 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:ok # Stats total_connections_received:3 total_commands_processed:8 instantaneous_ops_per_sec:0 rejected_connections:0 expired_keys:0 evicted_keys:0 keyspace_hits:0 keyspace_misses:0 pubsub_channels:0 pubsub_patterns:0 latest_fork_usec:0 # Replication role:master connected_slaves:0 # CPU used_cpu_sys:18577.25 used_cpu_user:1376055.38 used_cpu_sys_children:0.00 used_cpu_user_children:0.00 # Keyspace redis 127.0.0.1:6380>


En nuestro caso, maxmemory se estableció en una cantidad alta, luego alguien en el equipo la cambió a una cantidad menor una vez que los datos ya se habían almacenado.


La memoria se controla en la config. Por lo tanto, su instancia limitada como dice. Puede buscar en su redis.conf o en el problema de la herramienta CLI "config get maxmemory" para obtener el límite.

Si administra esta instancia de Redis, deberá consultar y ajustar el archivo de configuración. Generalmente se busca en /etc/redis.conf o /etc/redis/redis.conf.

Si está utilizando un proveedor de Redis, deberá ponerse en contacto con ellos para aumentar su límite.


La política maxmemory volatile-lru de Redis puede fallar al liberar suficiente memoria si las claves no volátiles ya utilizan el límite maxmemory.


Para tal problema, considere aumentar su memoria máxima en el archivo redis.conf. Me ayudó.

como maxmemory era 21000000 para mí y luego lo cambié a 31000000. Espero que ayude.