Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

JVB does not release memory after call ends #2020

Open
wassano opened this issue Feb 16, 2025 · 8 comments
Open

JVB does not release memory after call ends #2020

wassano opened this issue Feb 16, 2025 · 8 comments

Comments

@wassano
Copy link

wassano commented Feb 16, 2025

I run 6 JVBs in docker at the same machine and saw that when a meeting is running the memory consuption increases but when it finishes the JVBs never releases the memory and I have to restart the JVBs. When there are several meetings in a day the JVBs consumes all the server memory.
Is there a way to prevent this from happening?

Image

Image

@saghul
Copy link
Member

saghul commented Feb 17, 2025

How much RAM does that server have and how many users do you intend to support?

@wassano
Copy link
Author

wassano commented Feb 17, 2025

Hi, the server has 32Gb and some meetings have around 120 users, but even with smallers meetings, like 30 people, the RAM increases but when the meeting ends it is not released, so when there are several 30-people meetings at a the same day, the RAM consumption increses util there is no more RAM available. I have a cron that restarts the JVBs every day.

@saghul
Copy link
Member

saghul commented Feb 17, 2025

How many concurrent participants do you plan to host?

@wassano
Copy link
Author

wassano commented Feb 17, 2025

The ideal number would be 150-170 concurrent participants at a single meeting (only one meeting running at a time), I don't know if it is possible with my current server, the maximum I got was 135 participants in a single meeting, but the main problem is the RAM increase with the smaller meetings that keeps consuming RAM after they are finished.

@saghul
Copy link
Member

saghul commented Feb 17, 2025

You shouldn't need more than 2 JVBs for that. I think having some many is eating your serources. Not everything is freed immediately after a meeting ends.

@wassano
Copy link
Author

wassano commented Feb 17, 2025

Thanks, I will remove some JVBs and leave only 2. The memory limit set to 3072 Mb with the -Xmx flag.
But even several hours after the meeting ends the memory is not freed, only the JVBs are restarted.

@saghul
Copy link
Member

saghul commented Feb 17, 2025

@bgrozev may help clarify about resource usage. The problem I see with your setup is that you have too many JVBs, more than RAM you can spare. Even if they are using a good amount of it they will continue to function.

@bgrozev
Copy link
Member

bgrozev commented Feb 18, 2025

This is somewhat expected. As Saul suggested reducing the number of JVBs should help. Reducing the memory further might work too, I think 2GB should be enough for most cases. We haven't delved into this much, so I don't know how if the JVM is expected to return memory to the OS. You may have success with setting some flags to configure heap shrinking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants