Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
sw:java [2022/01/26 11:38]
127.0.0.1 external edit
sw:java [2026/03/16 13:37] (current)
tomas [Scénáře]
Line 9: Line 9:
  
  
- 
-<a name="odkazy|]] 
 ====Interni a Externi odkazy:==== ====Interni a Externi odkazy:====
  
Line 17: Line 15:
 [[../dev/java.html|Programovaci jazyk java]]\\ [[../dev/java.html|Programovaci jazyk java]]\\
 [[../web/j2ee.html|J2EE]]\\ [[../web/j2ee.html|J2EE]]\\
 +[[https://testcontainers.com/guides/getting-started-with-testcontainers-for-java/|Testcontainers]] ... definování Docker test kontejnerů v Maven projektu, konterjer se vytvoří pouze na test v režii Maven buildu\\
  
  
- +====Nastroje z prikazove radku a JVM prepinace====
-====Nastroje z prikazove radku a [[jvm.html|JVM]] prepinace====+
  
  
Line 30: Line 28:
 kill -3 PID ... provede thread dump procesu - nezabije\\ kill -3 PID ... provede thread dump procesu - nezabije\\
  
 +===JVM přepínače===
 +java -version ... verze javy\\
 +java -XshowSettings:vm -version ... ukáže max. velikost heapy, další požnosti: all, locale, properties\\
 +-XX:+PrintFlagsFinal ... ukáře parametry javy\\
 +-XX:MinRAMPercentage=50.0 -XX:MaxRAMPercentage=80.0 ... procentualní nastavení velikosti heapy, užitečné na kontejnerech\\
 +-Xdump:directory=/logs ... nastavení cesty pro dumpy\\
 +-Xdump:java:defaults:file=javacore_last.txt ... název souboru pro tread dump\\
 +-Xdump:heap:defaults:file=heapdump_last.phd ... název soubory pro heap dump\\
 +-Xdump:system:none ... vypne systémový dump\\
 +-Xdump:snap:none ... vypna snap dump\\
 +-Xdump:jit:none ... vypne jit dump\\
 +-Xdump:java:events=systhrow,filter=java/lang/OutOfMemoryError ... thread dump když je OutOfMemoryError \\
 +-Xdump:heap:events=systhrow,filter=java/lang/OutOfMemoryError ... heap dump, když je OutOfMemory\\ 
 +-Xss256k ... velikost stacku\\
  
  
-==Balicek java-VERZE-openjdk-devel:==+ 
 +===Balicek java-VERZE-openjdk-devel:===
  
  
Line 38: Line 51:
 javadoc ... vytvari html prehled trid a funkci pomoci komentaru /** */\\ javadoc ... vytvari html prehled trid a funkci pomoci komentaru /** */\\
 javap program ... zkompiluje program.java do program.p mezikodu javy\\ javap program ... zkompiluje program.java do program.p mezikodu javy\\
 +jcmd 7 help ... seznam možných operací\\
 +jcmd 7 Dump.java ... vytvoří javacore.txt\\
 +jcmd 7 GC.run ... provede garbage collection\\
 +jdmpview -core /application/heapdump.20240213.122917.7.0003.phd ... prohlížení dumpu\\
 jdb ... java debugger\\ jdb ... java debugger\\
 +jmap -histo 7 ... ukáže která třídá má kolik paměti\\
 jps ... vypise vsechny java procesy - PID + zkracene jmeno tridy\\ jps ... vypise vsechny java procesy - PID + zkracene jmeno tridy\\
 jps -l ... vypise vsechny java procesy - PID + plne jmeno tridy\\ jps -l ... vypise vsechny java procesy - PID + plne jmeno tridy\\
Line 57: Line 75:
 jinfo PID ... informace o java procesu a o jave\\ jinfo PID ... informace o java procesu a o jave\\
 jmap PID ... Prirazeni pameti v procesu\\ jmap PID ... Prirazeni pameti v procesu\\
 +ps -T -p 7 ... seznam vláken procesu, včetně třídy\\
  
  
- +===Ostatni nastroje===
-==Ostatni nastroje==+
  
  
Line 72: Line 90:
 [[../dev/maven.html|Maven]] ... sprava projektu\\ [[../dev/maven.html|Maven]] ... sprava projektu\\
  
 +
 +==== Scénáře ====
 +=== Analýza CPU náročnosti ===
 +top -H -p 6 ... interaktivní sledování procesů a jejich CPU zdrojů\\
 +ps -eT -o pid,tid,pcpu,comm ... seznam vláken, nýzvů tříd a jejich CPU využití\\
 +kill -3 6 ... pošle signál do JVM, ať se vygenerují dumpy\\
 +printf "0x%x\n" 65 ... převede Thread ID 20 na hexadecimální tvar vyskytující se v javacore, např. na 0x65\\
 +grep 0x41 -A3 -B3 javacore.20260316.122151.7.0001.txt ... nalezne thread 65 v Javacore dumpu\\
 +grep THREADINFO javacore.XXX.txt ... seznam tříd\\
  
  
-