Jump to content

Please: Put more effort into fixing memory leakage.


Recommended Posts

DCS ist great game and ED doing a great job to expand it with new features.

 

But: The amount of wasted ressorces is huge in DCS. The dedicated Server leaking memory like hell. I know, how complex c++ is (no garbage collector). Especially with such a big codebase like DCS ... Gigs of sourcecode to maintain. Great job! I could only image, how hard this must be.

But please: Dont push your coders so hard. Give them time to fix stuff.

 

We startet with 32 GB of RAM last year in the summer. Now we are at 128GB of RAM and need to restart every 12h. The instances consume the same amount of RAM after startup (okay, maybe 200-300MB more). The increase was necessary only to fix the leakage - and its getting worse with every Patch.

 

1) This is our Server after starup (11:57 AM) . Pretty good for a complex game like DCS!

 

130121_1200_Memorymap_SErver.JPG

 

2) This is the Server at 8:55 AM, next morning (21 hours):

 

130122_0855_Memorymap_SErver.JPG

 

3) Lets terminate the dcs.exe processes:

 

140121_0855_Memorymap_Server_after_process_killed.JPG

 

4) Dive into the nonpaged pool:

 

poolmon.JPG

 

5) Definitly from DCS.exe - no driver or OS issue.

 

210114_wpa_server.jpg

 

66 GB wasted in 17h. Thats a total of 500 MB per Instance per h. I know, there are worse things out there. But DCS schould not be like "just restart every 6h".

 

So ED, please! Put some effort into fixing memory leakage. It is getting worse with every patch. Throwing more and more Memory at Leakage is not the way to go.

 

 

  • Like 8
Link to post
Share on other sites

Why is this in the wish-list forum section? Wouldn't a memory leak constitute a bug? Maybe you should consider opening up the thread in that section, as it will be noticed by admins and possibly devs, this looks like useful information. 

Link to post
Share on other sites

Memory leakage is not a Bug (as ONE bug). Normaly it's more like a "company procedure". DCS have a big codebase, there must be a huge amount of leaks and its very difficult to pin them down. When you push coders to hard, the tend to forget releasing memory ... So, this is more like a wishlist because ED have to put resources (and money) to this task.

  • Like 2
Link to post
Share on other sites

Yeah, this would be really nice to see fixed within the next months. 

The funny Thing: Before the Dedicated Server was released, our Servers where hosted games on one of our Admins Laptops. It worked. 
But now... We have by far one of the most powerfull Servers in Germany and they still leaking the memory faster than a MiG-31 flies from Mozdok to Kutaisi.

DCS is a really good game, but its like thornx said, they need to put more effort into the backend parts of DCS World. I mean, its nice to have new features, new planes, new maps and many other new things. But from my point of view the last years the focus was mostly on releasing new stuff without fixing old and well known problems like the RAM leak or for example the RWR bug. 

It would work much better if there would be just one big update at the beginning of every quarter, after this big update the focus should be on fixing bugs and maintaining the code for the rest of the quarter. This would push the DCS quality to a next level.

I really hope the developers and especially the managers of ED will "hear us" like nick said back in the past.  

  • Like 2
Link to post
Share on other sites

Thanks, I will show it to the team. 

@thornx can you send me your server dcs log from a long session. 

 

thanks

  • Thanks 2

smallCATPILOT.PNG.04bbece1b27ff1b2c193b174ec410fc0.PNG

Forum rules - DCS Crashing? Try this first - Cleanup and Repair - Discord BIGNEWY#8703 - Youtube - Patch Status

Windows 10 Pro x64, NVIDIA MSI RTX 2080Ti VENTUS GP, Intel® i9-10900K 3.70GHz, 5.30GHz Turbo, Corsair Hydro Series H150i Pro, 32GB DDR @3000, ASUS ROG Strix Z490-F Gaming, HP Reverb G2

Link to post
Share on other sites
1 hour ago, thornx said:

Memory leakage is not a Bug (as ONE bug). Normaly it's more like a "company procedure". DCS have a big codebase, there must be a huge amount of leaks and its very difficult to pin them down. When you push coders to hard, the tend to forget releasing memory ... So, this is more like a wishlist because ED have to put resources (and money) to this task.

 

As the project compiles on visual studio, it's relative easy to find those leaks (I have a lot experience on it) using the CRT lib: _CrtDumpMemoryLeaks, checkpoints, etc. or using the diagnostic tools.

 

Tedious, yes, but not hard. Later fixing it can be more difficult, in this case, as the problem seems thread free and closing related, fixing it can trigger some vtable and pointer refs problems, I hope that ED have unit tests.

 

 


Edited by riojax
Link to post
Share on other sites
1 hour ago, BIGNEWY said:

Thanks, I will show it to the team. 

@thornx can you send me your server dcs log from a long session. 

 

thanks

 

 

Of course.

dcs.log

 

 

 

 

 

 

 

1 hour ago, riojax said:

 

As the project compiles on visual studio, it's relative easy to find those leaks (I have a lot experience on it) using the CRT lib: _CrtDumpMemoryLeaks, checkpoints, etc. or using the diagnostic tools.

 

But you have to put time and effort into it 🙂


Edited by thornx
  • Like 1
Link to post
Share on other sites

PerfLog as CSV.

New Data Collector.csv

 

 

Perflog:
* Available MB

* % Processor Time

* Pages/sec

* C:\pagefile.sys)\% Usage

* Current Disk Queue Length

* PhysicalDisk(_Total)\% Idle Time

* \Processor(_Total)\% User Time

* Processor(_Total)\DPCs Queued/sec

 

 


Edited by thornx
  • Like 1
Link to post
Share on other sites
1 hour ago, thornx said:

But you have to put time and effort into it 🙂

 

Oh yes, optimize and maintain the code usually takes 1/4 of development efford, but avoids on a near future to fight against the spaghetti mess.

(If anyone is interested on timing, at now IBM z/OS team uses 2/8 for cleaning/optimization, 3/8 for security/testing and 3/8 to devel new features, and a separate team only for design/architect and documentation)


Edited by riojax
Link to post
Share on other sites
16 hours ago, riojax said:

 

Oh yes, optimize and maintain the code usually takes 1/4 of development efford, but avoids on a near future to fight against the spaghetti mess.

(If anyone is interested on timing, at now IBM z/OS team uses 2/8 for cleaning/optimization, 3/8 for security/testing and 3/8 to devel new features, and a separate team only for design/architect and documentation)

 

 

An thats where money strikes in the games industry. Low profit marges, demaning gamers who want cheap products (yes, 40-60 USD for a Module like the F18, F16...  is cheap), feature after feature ...


A fundamental discussion that cannot be 'won'. The only thing you can do is keep it balanced.

  • Like 2
Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...