I've been doing testing on EQEMU using several linux tools such as LeakTracer and gprof to try and locate memory problems and bottlenecks in the code.
My problem is typically that I don't generate load on my machines (more than 1 client)
To assist, you can install and build LeakTracer on your machine , and run at least one zone using it, and get us some test data that covers use cases of several users in the zone doing different things. LeakTracer is nice, as you can preload the .so into your lib path, and all you really need is a zone executable compiled with -g so the leak-analyze script can use gdb to find the location of the problem.
LeakTracer is available at
http://www.andreasen.org/LeakTracer/
Additionally, something else you can do, and at the same time is compiling the zone with -pg to enable performance statistics, then running the .out file through gprof , and dumping the results to a txt file. This will show where the code is spending all its time in execution.
I have attempted running zone through Valgrind, but so far have been unsuccessful getting it to work. Valgrind significantly slows code execution, and this causes too much delay in zone and the client believes the zone is unavailable.
If anyone runs a 24x7 linux server that gets decent load that would like to help, your assistance would be appreciated.
My tests have uncovered several issues we have been able to correct, but having someone test on a larger scale basis will give us more complete code coverage, and possibly broader results.
Thanks!