Hello,

I have been managing an L4D srcds server for 3 months, and
unfortunately, I can't solve a memory problem. srcds_i486 grows in
memory and never decreases (except, of course, when it crashes...)

I'm running srcds_i486 on FreeBSD, and my first reaction was to accuse
BSD about a bad Linux emulation or something like this. But after some
investigation, I can easily reproduce the same problem on Linux (tested
with Gentoo & Debian).

Graph : http://forum.tost-clan.com/files/memoryLeak.html

On these graphs, you can see the memory allocation [blue line] (globally
increase, except after crash or restart) and the number of open UDP
connexions. Note a nice correlation between the number of open UDP
connexion and the memory allocation.

The normal use case is to use "srcds_run" to start the service, and in
this case, "srcds_i486" remains at a decent size in memory. But I've
rewritten my own script (srcds_run is dirty, with large chunks of never
used code) and I have this memory problem. So, what's the difference ?
After some activity monitoring, it appears that srcds_i486 is simply
restarted after each campaign. So, the binary leaks, but since is
quickly restarted, it never reaches a critical size and the leak goes
unnoticed.

But now, if you start manually srcds_i486, you can observe a nice memory
leak.

I have found many threads on Google about a memory leak on srcds, and I
suppose I can't do anything to solve this problem by myself... Except
(stupidly) restart my server...

Does Valve know this bug ? Is it an answer to restart the service
instead of properly fixing the bug ?


Best regards,
Peex

_______________________________________________
To unsubscribe, edit your list preferences, or view the list archives, please 
visit:
http://list.valvesoftware.com/mailman/listinfo/hlds_linux

Reply via email to