Charting average memory consumption at different runtime milestones allows you to visualize the growth in server memory over the lifecycle of a server.
This is helpful when diagnosing memory leaks, as the impact of servers starting and stopping is isolated.
Currently, the amount of memory allocated to a server is 6.4GB + (MaxPlayers * 100MB). If you exceed this amount, your server will crash. Significant increases in memory consumption over the lifecycle of a server may suggest a memory leak that needs to be resolved.
If your server memory by age chart is showing a rapid increase, then you should investigate potential memory leaks. Use the category breakdown to isolate where the increase is coming from.
Please note, although game servers can live longer than 24 hours that this the chart is limited to 24 hours.
For many Experiences, they have a memory leak that continues to grow and then at some point the server crashes and all users get kicked out - making for a frustrating player experience.
Or they release an update that uses a lot more memory and that causes crashes.
This new chart enables you to see if you have a memory leak and optimize before it becomes a problem or if you do a release to pinpoint that you have a sudden increase in memory and you can investigate the before and after and with the category/sub-category breakdown you can pinpoint the general area that’s growing.
especially for devs that have teams of QA testers and such
An update doesn’t need to be the most important update possible, it just needs to be an improvement. This is an objective improvement so there’s no reason to be upset.
I get this - but if you are releasing a good game that you think will strongly hit the roblox algorithm, you should get a team of testers; it’s key in game development
Unless I am making this up, I’m pretty sure there is something inside of Roblox studio that shows this already (in the output or something) - but I’m pretty sure that wasn’t there.
QA team don’t keep the servers on, I’m talking about the testers that test the game before release.
If they test the game before it is released, they would have noticed thus having it patched before release.
I wasn’t getting upset, if it seems as I was, I apologise
Idk if you’re trolling or if you just don’t understand what this update is for, but a QA team won’t always catch memory leaks that take hours to actually build up to become a problem. Sometimes it takes a large throughput of an actual playerbase for memory leaks to become noticeable.
There’s also a lot of teams at roblox, the analytics team has been doing really well with the updates they’ve been releasing the past couple of years.
This chart is insanely useful, thank you as always analytics team
This mindset is restrictive and you don’t necessarily adress what the people who replied to you have said. If you can’t get QA testers, its likely you can’t because of valid reasons like not having a community before launch or enough money to hire people; even in that case you would need people reviewing your code (since memory leaks are hard to spot) instead of just playing the game, which is a much worse alternative than this new feature.
Multiple engineers & interns at Roblox could be working on different projects simultaneously, just because this one got released now, doesn’t mean they aren’t doing anything else important.
QA testers are also rarely ever qualified to actually understand how any of these things work, as they’re usually just random people from a games community or the developers friends. Memory leaks are often complex problems that only people with access to the games code can fully ascertain most of the time, and the more obvious ones that players can easily trigger do not require a QA team.
I have no clue why you’re so insistent on this, many updates include things that aren’t immediately useful to all developers on this platform, and you chose to complain about one of the most useful additions that I can think of in a while.
Are there ways to achieve this functionality without the graph? Sure, just run a server for 12+ hours by yourself or convince QA testers to sit around for that long. The problem with that, though, is that it requires planning & a certain level of time investment that not all developers can do, nor should have to do.
When you say “6.4GB + (MaxPlayers * 100MB)” does that mean that if you have 50 max players you’ll have 11.4GB or does it only consider the current player amount such as 8.4 GB for 20 out of 50 players.
would it be possible to automatically use the memory heap profiler every hour or so? biggest painpoint is figuring out what exactly is causing the memory leak, which thus far requires manual intervention.
Ohhh yes… finally… this will be really helpful. I typically blame rare lag/bugs in my game(s) on old servers (which go unfixed because they’re really difficult to diagnose) - but now I should be able to fix them! Woooo!
Thank you!!! I thought this was a no-brainer. A couple of statistics we have now seem like they’d be very useful aggregated in a similar way too.
Client memory usage over session length would be useful for the same reason as this, for example.
Client framerate over session length and server cpu time over server lifetime could be used to spot niche issues where low memory iterated data is retained by accident too.
I’m not sure what the max duration for client side session length could be, but maybe simply aggregating fewer data points as session length goes longer would be sufficient. i.e. the first 5 minutes have more data than at 30m. Variable precision might be okay.
It looks like this graph produces a general trend slope, maybe we can plot the trend slope over time so we can see more easily over a range of time when that slope increases. This would make tracking update impact much easier, rather than making us babysit the analytics manually before and after updates. Right now, this graph just shows us that we have a leak, currently.