I wonder how large the performance overhead that the -Xdebug flag introduces?
It's very convenient to debug production applications, but I guess it is expensive to leave running all the time?
Also, is there a good way to make the already running application to listen via Debug port, without re-launching it?
Thanks.
We haven't found any difference. We run all our production applications with -Xdebug.
is there a good way to add Debug mode to application already running, without re-launch it
It is what -Xdebug does. Debugger actually starts when someone connects to debugging port.
Under Java 6 I would say the cost is about 15% to performance, Under Java 5.0 it was about 40%. This may be fine for you.
Another way to see what is going on in production is to use JMX/JConsole. This takes some work and has a relatively small over head. I guess at 2%.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With