2016-02-08 2 views
6

Je me pose juste des questions sur la surcharge supplémentaire du débogage distant. Je commence application à l'aide HotSpot avec ces paramètres:Débogage de débogage distant Java

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 

J'ai entendu parler un grand impact sur les performances dans les versions plus anciennes de HotSpot, mais mon application utilise java 8 maintenant et je ne peux pas trouver des informations à jour à ce sujet.

+0

En effet, il y a un énorme surcoût de débogage distant (plus de 30 secondes), sauf si vous utilisez SAP JVM sur HCP (ils ont un service spécial de débogage) - c'est presque comme si vous débuggiez localement. Vous pouvez l'essayer sur hanatrial.ondemand.com –

+0

@SvetlinZarev est cette surcharge activée seulement quand quelqu'un se connecte au jvm et commence le débogage ou il reste tout le temps tandis que l'agentlib est attaché? –

+0

Oh, j'ai mal compris votre question. –

Répondre

6

1.4.0 introduit "Debugging Full Speed": Dans la version précédente de HotSpot (avant 1.4.0), lors du débogage a été activé, le programme exécuté en utilisant uniquement l'interpréteur. A partir de la version 1.4.0, l'avantage de performance de la technologie HotSpot était disponible pour les programmes exécutant le débogage activé. Les performances améliorées permettent de déboguer plus facilement les programmes longs.

Après 1.4.1, il n'y a pas d'amélioration liée aux performances mentionnée par oracle dans la zone JPDA. Le dernier a été fait dans JDK 1.4.0 pour VM client hotspot VM et pour Java Hotspot Server VM dans JDK 1.4.1.

Il est donc prudent de dire qu'aucune amélioration des performances n'a pu être attendue dans la zone de débogage de la version 1.4.1 à la dernière version. Sinon, il aurait été mentionné par Oracle docs.

Sources: https://docs.oracle.com/javase/8/docs/technotes/guides/jpda/

S'il vous plaît passer par les liens dans la section d'amélioration du lien ci-dessus pour confirmer.

+0

parfait, merci. –

0

Cet article d'AMD vous aidera à trouver comment degredation beaucoup la performance sera cette cause, ils ont même fait quelques modifications pour réduire la perte de performance causée par le débogage à distance sur une machine virtuelle Java Hotspot, et je cite:

" Nous montrerons également comment nous avons appliqué ces changements pour améliorer les performances de la JVM Hotspot dans OpenJDK lorsqu'elle est démarrée avec le débogage activé mais que le débogueur n'est pas encore attaché. "

http://developer.amd.com/resources/documentation-articles/articles-whitepapers/java-performance-when-debugging-is-enabled/

+0

Cet article a été écrit en 2010. C'était l'époque de java 6. Etes-vous sûr qu'il est encore à jour? –