Redis: Crash OUT OF MEMORY ?

Créé le 15 juin 2017  ·  4Commentaires  ·  Source: redis/redis

Pourriez-vous me dire quel est le problème sur mon serveur ?

mon serveur a 1 mémoire principale de 2 Go (AWS t2.small) et j'utilise seulement 1 configuration personnalisée, max-active=512.

=== REDIS BUG REPORT START : Couper et coller à partir d'ici ===
1:M 14 juin 11:19:39.860 # --------------------------------------- ---------
1:M 14 juin 11:19:39.860 # !!! Échec du logiciel. Appuyez sur le bouton gauche de la souris pour continuer
1:M 14 juin 11:19:39.860 # Méditation Guru : "Redis abandonne pour OUT OF MEMORY" #server.c:3828
1:M 14 juin 11:19:39.860 # (forçant SIGSEGV pour imprimer la trace de la pile)
1:M 14 juin 11:19:39.860 # --------------------------------------- ---------
1:M 14 juin 11:19:39.860 # Redis 3.2.8 s'est écrasé par signal : 11
1:M 14 juin 11:19:39.860 # Crash lors de l'exécution de l'instruction à : 0x45bf4a
1:M 14 juin 11:19:39.860 # Adresse d'accès : 0xffffffffffffffff
1:M 14 juin 11:19:39.860 # Échec de l'assertion :(:0)

------ TRACE DE LA PILE ------
EIP :
serveur redis *:6379(_serverPanic+0x7a)[0x45bf4a]

Retour en arrière :
serveur redis *:6379(logStackTrace+0x29)[0x45d599]
serveur redis *:6379(sigsegvHandler+0xa6)[0x45dc36]
/lib/x86_64-linux-gnu/libpthread.so.0(+0xf890)[0x7f8bf859f890]
serveur redis *:6379(_serverPanic+0x7a)[0x45bf4a]
redis-server *:6379(redisOutOfMemoryHandler+0x2c)[0x423d0c]
serveur redis *:6379(zrealloc+0xc9)[0x42d209]
redis-server *:6379(sdsMakeRoomFor+0x2bd)[0x42ab0d]
serveur redis *:6379(sdsgrowzero+0x6e)[0x42b15e]
redis-server *:6379(lookupStringForBitCommand+0x65)[0x470d05]
serveur redis *:6379(setbitCommand+0x7c)[0x470ecc]
serveur redis *: 6379 (appel + 0x81) [0x4260e1]
redis-server *:6379(processCommand+0x387)[0x4291b7]
serveur redis *:6379(processInputBuffer+0x105)[0x435bd5]
serveur redis *:6379(aeProcessEvents+0x133)[0x420653]
serveur redis *:6379(aeMain+0x2b)[0x42099b]
serveur redis *:6379(main+0x40b)[0x41d99b]
/lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf5)[0x7f8bf8206b45]
serveur redis *:6379[0x41dbef]

------ SORTIE D'INFOS ------

Serveur

redis_ version : 3.2.8
redis_git_sha1:00000000
redis_git_ sale : 0
redis_build_id : 151525c861545b87
mode redis_ : autonome
système d'exploitation : Linux 3.10.0-514.6.1.el7.x86_64 x86_64
arch_bits : 64
multiplexage_api :epoll
gcc_ version : 4.9.2
ID_processus : 1
run_id:9afef020b94f003a8fef89c61a5ec4b6e49621d6
port tcp_:6379
disponibilité_en_secondes : 185 200
disponibilité_en_jours : 2
hertz : 10
lru_horloge :4266955
exécutable :/data/redis-server
fichier_config :

Clients

clients_connectés : 3
client_longest_output_ list : 0
client_biggest_input_buf : 0
clients_bloqués :0

Mémoire

utilisé_ mémoire : 1477301928
used_memory_ human:1.38G
utilisé_mémoire_rss :1373413376
used_memory_rss_ human:1.28G
utilisé_memory_ pic : 1477341216
utilisé_memory_peak_ humain : 1,38 G
total_system_ memory : 1927479296
total_system_memory_ humain : 1,80 G
used_memory_lua :37888
used_memory_lua_ human:37.00K
maxmemory:0
maxmemory_humain :0B
maxmemory_policy :noeviction
mem_fragmentation_ ratio : 0,93
allocateur_mem:jemalloc-4.0.3

Persistance

chargement : 0
rdb_changes_since_last_ save : 25
rdb_bgsave_in_ progress : 0
rdb_last_save_time : 1497257580
rdb_last_bgsave_statut : erreur
rdb_last_bgsave_time_sec :0
rdb_current_bgsave_time_sec :-1
aof_ activé : 0
aof_rewrite_in_ progress : 0
aof_rewrite_ planifié : 0
aof_last_rewrite_time_ sec :-1
aof_current_rewrite_time_sec : -1
aof_last_bgrewrite_ status : ok
aof_last_write_ status : ok

Statistiques

total_connexions_ reçues : 4223
total_commands_ traitées : 20956
instantaneous_ops_per_ sec : 2
total_net_input_ octets : 439 390
total_net_output_ octets : 39671735
instantaneous_input_kbps : 0,14
instantaneous_output_kbps : 0,01
connexions_rejetées : 0
synchronisation_complète : 0
sync_partial_ok : 0
sync_partial_err : 0
clés_ expirées : 0
clés_expulsées :0
keyspace_ hits : 321
keyspace_ manque : 257
pubsub_canaux :0
motifs pubsub_ : 0
last_fork_usec : 59
migrate_cached_sockets :0

Réplication

rôle : maître
esclaves_connectés : 0
master_repl_offset : 0
repl_backlog_ actif : 0
repl_backlog_ taille : 1048576
repl_backlog_first_byte_ offset : 0
repl_backlog_ histlen : 0

CPU

used_cpu_sys :115.96
utilisateur_processeur_utilisé : 65.18
enfants_cpu_sys_utilisés : 0,01
used_cpu_user_ children:0.33

Commandstats

cmdstat_ setbit:calls=8 ,usec=324704,usec_per_call=40588.00
cmdstat_getbit :calls=226 ,usec=827,usec_per_call=3.66
cmdstat_hget :calls=264 ,usec=662,usec_per_call=2.51
cmdstat_hincrby :calls=21 ,usec=110,usec_per_call=5.24
cmdstat_ping :calls=5286 ,usec=7508,usec_per_call=1.42
cmdstat_info :calls=15061 ,usec=600260,usec_per_call=39.86
cmdstat_config :calls=1 ,usec=9,usec_per_call=9.00
cmdstat_ bitcount:calls=88 ,usec=971622,usec_per_call=11041.16
commande cmdstat_:calls=1 ,usec=399,usec_per_call=399.00

Groupe

cluster_ activé : 0

Espace clé

db0:keys=10,expire=0,avg_ttl=0
hash_init_value : 1496994265

------ SORTIE DE LA LISTE DES CLIENTS ------
id=4209 addr=10.10.1.217:44788 fd=6 name= age=6472 idle=1 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=0 obl=0 oll= 0 omem=0 événements=r cmd=ping
id=4223 addr=10.10.2.184:43474 fd=7 name= age=56 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll= 0 omem=0 événements=r cmd=setbit
id=4224 addr=10.10.2.184:43480 fd=8 name= age=0 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll= 0 omem=0 événements=r cmd=hget

------ INFORMATIONS CLIENT ACTUELLES ------
id=4223 addr=10.10.2.184:43474 fd=7 name= age=56 idle=0 flags=N db=0 sub=0 psub=0 multi=-1 qbuf=0 qbuf-free=32768 obl=0 oll= 0 omem=0 événements=r cmd=setbit
argv[0] : 'SETBIT'
argv[1] : '20170614@猷⑤굹뚰봽

                         argv[2]: '3955627448'

argv[3] : '1'
1:M 14 juin 11:19:39.869 # clé '20170614 @猷⑤굹뚰봽 trouvée dans la base de données contenant l'objet suivant :
1:M 14 juin 11:19:39.869 # Type d'objet : 0
1:M 14 juin 11:19:39.869 # Codage d'objet : 0
1:M 14 juin 11:19:39.869 # Refcount d'objet : 1
1:M 14 juin 11:19:39.869 # Longueur de la chaîne brute de l'objet : 377027058

------ REGISTRES ------
1:M 14 juin 11:19:39.869 #
RAX:0000000000000000 RBX:00000000004e67f0
RCX:ffffffffffffffff RDX:0000000000000000
RDI:0000000000000000 RSI:00007f8bf858c7a0
RBP:00000000004e8ed0 RSP:00007ffff0190690
R8 :00007f8bf8ec9780 R9 :00007f8bf823099a
R10:00007f8bf85896a0 R11:0000000000000000
R12:0000000000000ef4 R13:000000001678f9f2
R14:0000000000000003 R15:000000001d88c2b8
RIP : 000000000045bf4a EFL : 0000000000010202
CSGSFS:0000000000000033
1:M 14 juin 11:19:39.869 # (00007ffff019069f) -> 0000000000000019
1:M 14 juin 11:19:39.869 # (00007ffff019069e) -> 0000000006ffc8c6
1:M 14 juin 11:19:39.869 # (00007ffff019069d) -> 000000001d78c2b8
1:M 14 juin 11:19:39.869 # (00007ffff019069c) -> 00007f8bf7d26400
1:M 14 juin 11:19:39.869 # (00007ffff019069b) -> 000000001678f9f2
1:M 14 juin 11:19:39.869 # (00007ffff019069a) -> 0000000000000000
1:M 14 juin 11:19:39.869 # (00007ffff0190699) -> 000000000042ab0d
1:M 14 juin 11:19:39.869 # (00007ffff0190698) -> 00007f8b9e800000
1:M 14 juin 11:19:39.869 # (00007ffff0190697) -> 00007f8b9e800009
1:M 14 juin 11:19:39.869 # (00007ffff0190696) -> 0000000000000009
1:M 14 juin 11:19:39.869 # (00007ffff0190695) -> 000000000042d209
1:M 14 juin 11:19:39.869 # (00007ffff0190694) -> 000000001d88c2b8
1:M 14 juin 11:19:39.869 # (00007ffff0190693) -> 0000000000423d0c
1:M 14 juin 11:19:39.869 # (00007ffff0190692) -> 000000001d88c2c2
1:M 14 juin 11:19:39.869 # (00007ffff0190691) -> 0000000018000000
1:M 14 juin 11:19:39.869 # (00007ffff0190690) -> 0000000000000000

------ TEST DE MÉMOIRE RAPIDE ------
1:M 14 juin 11:19:39.869 # Thread bio pour le type de travail #0 terminé
1:M 14 juin 11:19:39.869 # Thread bio pour le type de travail #1 terminé
* Préparation pour tester la région de mémoire 730000 (94208 octets)
Préparation du test de la région de mémoire 7f8b9e800000 (1478492160 octets)
Préparation du test de la région de mémoire 7f8bf7400000 (12582912 octets)
Préparation du test de la région de mémoire 7f8bf87a9000 (16384 octets)
Préparation du test de la région de mémoire 7f8bf8ece000 (16384 octets)* Préparation pour tester la région de mémoire 7f8bf8ed4000 (4096 octets)
.OOOOOOOOOO
Test de mémoire rapide RÉUSSI, mais votre mémoire peut encore être brisée. Veuillez exécuter un test de mémoire pendant plusieurs heures si possible.

------ CODE DE DUMPING AUTOUR D'EIP ------
Symbole : _serverPanic (base : 0x45bed0)
Module : serveur redis *:6379 (base 0x400000)
$ xxd -r -p /tmp/dump.hex /tmp/dump.bin

$ objdump --adjust-vma=0x45bed0 -D -b binary -m i386:x86-64 /tmp/dump.bin

1:M 14 juin 11:19:44.280 # dump de la fonction (hexdump de 250 octets) :
8b05165e2d0041544189d4554889f5534889fb85c07505e894f9ffffbe58184f00bf0300000031c0e8037dfcffbe90184f00bf0300000031c0e8f27cfcff4589e04889e94889dabe50274f00bf0300000031c0e8d87cfcffbed0184f00bf0300000031c0e8c77cfcffbe58184f00bf0300000031c0e8b67cfcffc60425ffffffff785b5d415cc3660f1f84000000000048c7070000000048c7470800000000c74710000000008b0544592d0085c00f8eb7060000415741564155415455534881ec4801000048897c241048c744242800000000488d9c24c0000000c744242400000000eb1e0f1f0083442424014883442428408b4424243905f3
La fonction à 0x423c00 est serverLog

=== FIN DU RAPPORT DE BUG REDIS. Assurez-vous d'inclure de DÉBUT à FIN. ===

Tous les 4 commentaires

used_memory_human:1.38G

Pour une raison ou une autre, votre instance utilise plus de 1 Go de mémoire.
Avec seulement 2 Go de mémoire principale et votre système en nécessitant également une partie, vous n'en avez tout simplement plus à utiliser pour Redis.
Réduisez l'utilisation de la mémoire, augmentez la mémoire ou définissez une limite de mémoire appropriée pour Redis.

@steadyrun Oui, c'est à cause du "manque de mémoire"
Votre serveur Redis a gaspillé toute la mémoire.

@charsyam @badboy Pouvez-vous suggérer un réglage approprié ?
je ne suis pas expert en redis..

vous pouvez définir maxmemory 1G dans votre fichier conf. MAIS réduire vos coûts redis est le plus important.

Cette page vous a été utile?
0 / 5 - 0 notes