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

