Jigasi not freeing up memory after transcribing a call

First of all, thank you very much everyone in the team who keeps this product at the highest level of quality!!!

I am using Jigasi for transcribing calls with Google Speech recognition as the service provider.
Jigasi is running on a server separate from Prosody and the transcribing is working successfully with the calls.
However, when I look at the memory usage of the Jigasi server, I am finding that the memory used by Jigasi for calls are not freed up after the call is ended. The memory usage keeps increasing as more and more calls use the transcription service ultimately leading to a failure of the Jigasi server.

Is this the expected behavior of Jigasi?
I am sure we can not lock up the memory for ever after the call is ended.

Is it something to do with my configuration?

How can I free up the memory that is used by Jigasi for a call after the call is ended?

thanks in advance for your advice!!

Try latest version from unstable we fixed several issues like that.

Thanks @damencho !!
I just installed the latest unstable version of jigasi (1.1-195-g65ef768-1).

The issue seems to prevail. I don’t see any drop in memory usage after I end the call.

Both the percentage memory usage (from “top” command) and the total memory used (from “free” command) on the ubuntu server keeps increasing from previous levels on each subsequent call.
Under this situation, the entire memory will be used up in a matter of a few calls that use transcription service resulting in a server breakdown.

When there are no calls on the jigasi can you execute as root /usr/share/jigasi/collect-dump-logs.sh and send me the result archive to damencho at jitsi dot org.

I don’t see a problem in the dump you send me.
What is the available machine RAM. Jigasi is configured by default to use up to 3GB of Ram

So you can see it growing to that level and continue working without a problem, you can see this behaviour also and for jvb.

The service is working fine as expected as I can see the transcripts being displayed properly.

My concern is that if the memory is not released after each call, it will eventually consume all the memory and then the server will be down.

My RAM is low for now (at 1GB).
But if the memory is not released, any amount of memory wont be enough as ultimately it will all be consumed.

Is it expected to use up to 3GB and then swap the memory for any additional calls?

Also, why is the memory not released at the end of the call?


So with default settings you may indeed see out of memory errors.

This is how the GC works, it does not aggressively cleans everything till its needed.

If you want to run with 1GB change the max used memory to 0.512 or something

Great!!! Thank you so much Damian!!
And Thank you for maintaining this great product for the community!!