summaryrefslogtreecommitdiffstats
path: root/src/libserver/task.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-05-10 13:06:23 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-05-10 13:06:23 +0100
commitf78dbc5820a58bde1dab77627a78319ea597e16a (patch)
treed1e8359dceb47ba821effa4339340b2d3d37c3e0 /src/libserver/task.c
parent625f23923898ae284687b4155882ff7ce381df4f (diff)
downloadrspamd-f78dbc5820a58bde1dab77627a78319ea597e16a.tar.gz
rspamd-f78dbc5820a58bde1dab77627a78319ea597e16a.zip
[Minor] Add some more memory stats logging
Diffstat (limited to 'src/libserver/task.c')
-rw-r--r--src/libserver/task.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/libserver/task.c b/src/libserver/task.c
index e33d241e3..b7e353823 100644
--- a/src/libserver/task.c
+++ b/src/libserver/task.c
@@ -354,7 +354,11 @@ rspamd_task_free (struct rspamd_task *task)
if (++free_iters > free_iters_limit) {
/* Perform more expensive cleanup cycle */
gsize allocated = 0, active = 0, metadata = 0,
- resident = 0, mapped = 0;
+ resident = 0, mapped = 0, old_lua_mem = 0;
+ gdouble t1, t2;
+
+ old_lua_mem = lua_gc (task->cfg->lua_state, LUA_GCCOUNT, 0);
+ t1 = rspamd_get_ticks (TRUE);
#ifdef WITH_JEMALLOC
gsize sz = sizeof (gsize);
@@ -368,13 +372,16 @@ rspamd_task_free (struct rspamd_task *task)
malloc_trim (0);
# endif
#endif
+ lua_gc (task->cfg->lua_state, LUA_GCCOLLECT, 0);
+ t2 = rspamd_get_ticks (TRUE);
+
msg_notice_task ("perform full gc cycle; memory stats: "
"%z allocated, %z active, %z metadata, %z resident, %z mapped;"
- " lua memory: %d kb",
+ " lua memory: %d kb -> %d kb; %f ticks for gc iter",
allocated, active, metadata, resident, mapped,
- lua_gc (task->cfg->lua_state, LUA_GCCOUNT, 0));
+ old_lua_mem, lua_gc (task->cfg->lua_state, LUA_GCCOUNT, 0),
+ t2 - t1);
free_iters = 0;
- lua_gc (task->cfg->lua_state, LUA_GCCOLLECT, 0);
}
REF_RELEASE (task->cfg);