Memory leaks
Apparently the server has some rather large memory leaks in about 3 hours idle 5 dynamic zones ate 2+ gigs of ram. Has anyone else noticed such problems?
|
I know there were some memory leaks, but nothing that large. I've been pretty busy in RL lately, but I'm hoping when things settle down I will have time to go through and do a bit of cleanup on the code. Memory leaks were one of my planned targets to fix.
|
Here is some logs that might assist you with fixing the memory leaks.
Used valgrind to log world and zone servers on Debian 5 using revision 964. http://www.netherealm-studios.com/world_log.rtf http://www.netherealm-studios.com/zone_log.rtf |
Err, I should have said Rev 961. Silly typo, and I can't go back and edit it, :X
|
Here's a fix for a smaller leak based on the logs:
Code:
14 bytes in 1 blocks are definitely lost in loss record 5 of 55 Code:
Index: T:/svn/trunk/EQEmuServer/zone/zoning.cpp |
I haven't noticed any memory leaks with dynamic zones, yet (running rev 974). However, I HAVE noticed that some PoP zones (e.g. poinnovations and a couple of others) like to chew on 200+ MB of RAM when launched statically.
I'm running ~most~ zones on my server statically because I've noticed certain anamolies with running them dynamically that detract from the "MMORPG"/persistent world aspect of the game. A couple of things I've noticed when all zones are dynamic: -the lack of weather change if you only spend a few minutes in a zone -the ~same~ thing happening if you pass the same point in a zone in approximately the same time every time you enter the zone (e.g. Lodizal ALWAYS just spawns, and ALWAYS wandering around the gnolls in Iceclad) -wandering mobs can almost always be found in the same location -"Spawn cycles" in zones like Frontier Mountains don't work right if the zone is dynamic, and you die a lot.... Right now, I'm working on a balance of dynamic and static zones to maintain server performance, minimize RAM usage, and maintain a "persistent feel" to the world on my personal server... |
you can turn on Persistent Zone state. What this will do for dynamic zones- it will RECORD what/where things were when zone was shutdown and when it reboots - it will put things back exactly how they were last time on
|
I missed that. I've enabled that so the zones on my server that are still dynamic will be more persistent when I come back to them. Though, I don't think it'll be exactly like a statically loaded zone, but it will will be better than a zone that just relaunched everytime I enter it.
Thanks for the pointer; I thought that was enabled by default. Obviously, I was mistaken ;) |
Important note - the Persistent state will carry on even after entire world server has been shut down and restarted, which leads to an issue that, when persistent state was turned on - ANY alterations to DB would prevent server from booting again until you turned it off - since the recorded data was using the DB as base and once base would be altered it would no longer match the PS recording, causing the crashes.
This was a year ago however, so changes to the code may have already addressed this issue. |
Lucky for you I completely disabled persistent state loading a while back.
No one really ever had good experiences with persistent state loading, it was unmaintained and filled with bugs and exploits. |
LOL I always thought it was nice alternative to running crap load of static zones =P
|
All times are GMT -4. The time now is 05:48 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.