2016-02-08 43 views
6

Zastanawiam się tylko nad dodatkowym obciążeniem zdalnego debugowania. Zacznę aplikację za pomocą HotSpot z tych parametrów:Naprawa zdalnej debugowania Java

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

Słyszałem o dużej wpływ na wydajność w znacznie starszych wersjach HotSpot ale moja aplikacja używa Java 8 i teraz nie mogę znaleźć żadnych aktualnych informacji o nim.

+0

Rzeczywiście, narzuca się ogromne koszty zdalnej debugowania (ponad 30 sekund na kroku do/powyżej), chyba że korzystasz z SAP JVM na HCP (mają specjalną usługę debugowania) - to prawie tak, jakbyś debugował lokalnie. Możesz go wypróbować na hanatrial.ondemand.com. –

+0

@SvetlinZarev jest to narzut włączony tylko wtedy, gdy ktoś łączy się z jvm i rozpoczyna debugowanie lub pozostaje cały czas, gdy agentlib jest dołączony? –

+0

Och, źle zrozumiałem twoje pytanie. –

Odpowiedz

6

1.4.0 wprowadzono "Full Speed ​​debugowanie": W poprzedniej wersji HotSpot (przed 1.4.0), podczas debugowania została włączona, program wykonywany przy użyciu tylko tłumacza. Począwszy od wersji 1.4.0, pełna wydajność technologii HotSpot była dostępna dla programów z włączonym debugowaniem. Zwiększona wydajność pozwala na łatwiejsze debugowanie długich programów.

Po 1.4.1 nie ma poprawy wydajności wymienionej przez oracle w obszarze JPDA. Ostatnia została wykonana w JDK 1.4.0 dla klienta wirtualnego punktu dostępu Java i dla maszyny wirtualnej VM serwera Java w JDK 1.4.1.

Można więc bezpiecznie stwierdzić, że w obszarze debugowania od 1.4.1 do najnowszej wersji nie należy oczekiwać poprawy wydajności. W przeciwnym razie zostałoby to wspomniane przez docentów.

Źródła: https://docs.oracle.com/javase/8/docs/technotes/guides/jpda/

Proszę przejść przez link poniżej sekcji wzmocnienia powyższy link, aby potwierdzić.

+0

idealne, dzięki. –

0

Ten artykuł od AMD pomoże Ci znaleźć ile degradacją wydajność Spowoduje to, że już się nawet kilka poprawek w celu zmniejszenia trafień wydajności spowodowanego zdalnego debugowania na Hotspot JVM, cytuję:

" Pokażemy także, w jaki sposób zastosowaliśmy te zmiany, aby poprawić wydajność Hotspot JVM w OpenJDK, gdy jest uruchamiany z włączonym debugowaniem, ale debugger nie został jeszcze przyłączony. "

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

+0

Ten artykuł napisany w 2010 roku. Był to czas Java 6. Czy jesteś pewien, że jest nadal aktualny? –