Hello there,
i have stored ~200 000 registrations contacts in redis database and when
kamailio starts looking for expired contacts in redis then it starts giving
these errors:
WARNING: PR_LOG: 123: db_redis [redis_dbase.c:1099]:
db_redis_perform_query(): performing full table scan on table 'location'
while performing query
WARNING: PR_LOG: 123: db_redis [redis_dbase.c:1102]:
db_redis_perform_query(): scan key 0 is 'expires'
*WARNING: PR_LOG: 123: db_redis [redis_dbase.c:1102]:
db_redis_perform_query(): scan key 1 is 'expires'*
*ERROR: PR_LOG: 123: <core> [core/mem/q_malloc.c:291]: qm_find_free():
qm_find_free(0x7ff80922b010, 3055920); Free fragment not found!*
*ERROR: PR_LOG: 123: <core> [core/mem/q_malloc.c:425]: qm_malloc():
qm_malloc(0x7ff80922b010, 3055920) called from core: db_res.c:
db_allocate_rows(183), module: core; Free fragment not found!*
*ERROR: PR_LOG: 123: <core> [db_res.c:185]: db_allocate_rows(): no private
memory left*
*ERROR: PR_LOG: 123: db_redis [redis_dbase.c:1115]:
db_redis_perform_query(): Failed to allocate memory for rows *
I have configured the private memory to 128 MB but seems that isn't enough
to handle with all these contacts.
Is the only option here increase the private memory or there is any other
kind of configuration(in redis or kamailio) that i can make to avoid this?
Best Regards
José Seabra
--
Cumprimentos
José Seabra