рд╕рдмреИрд▓рд╛рдИ рдирдорд╕реНрдХрд╛рд░ - рдпреЛ рд╣рд╛рдореНрд░реЛ рдХреНрд╡рд╛рд░реНрдХрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛рдХреЛ рдкрд╛рдБрдЪреМрдВ рдкреЛрд╖реНрдЯ рд╣реЛ! (рд╡реИрд╕реЗ, рд╣рд╛рдореНрд░реЛ рд╡реЗрдмрд┐рдирд╛рд░ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН
╨Т
рдХрд╛рд░реНрдпрд╕рдореНрдкрд╛рджрди рдорд╛рдкрди рд▓рдЧрднрдЧ рдХреБрдиреИ рдкрдирд┐ рдЕрдкрдЧреНрд░реЗрдбрдХреЛ рдЖрдзрд╛рд░рднреВрдд рдЖрдзрд╛рд░ рд╣реЛ, рд░ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рд░рд┐рдкреЛрд░реНрдЯрд┐рдЩ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдкреНрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдПрдХ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рднрд╛рдЧ рд╣реЛред рдЖрдЬ рд╣рд╛рдореА рд╕рд╛рдиреНрджрд░реНрднрд┐рдХ рдорд╛рдкрди рдЙрдкрдХрд░рдгрд╣рд░реВ рд╣реЗрд░реНрдиреЗрдЫреМрдВ рдЬреБрди рдЬрд╛рднрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдЖрдзреБрдирд┐рдХреАрдХрд░рдг рдЧрд░реЗрд░ рд╣рд╛рд╕рд┐рд▓ рдЧрд░рд┐рдПрдХрд╛ рд╕реБрдзрд╛рд░рд╣рд░реВ рдкрд░рд┐рдорд╛рдг рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред
рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдирд╛рдкреНрдиреЗ рдмрд╛рд░реЗ рдердк рдЬрд╛рдирдХрд╛рд░реАрдХреЛ рд▓рд╛рдЧрд┐, рдХреНрд╡рд╛рд░реНрдХрд╕ рдЯреНрдпреБрдЯреЛрд░рд┐рдпрд▓ рд╢реАрд░реНрд╖рдХ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН
рддрд▓ рд╣рд╛рдореА рддрдкрд╛рдИрдВрд▓рд╛рдИ pmap рд░ ps рдЙрдкрдпреЛрдЧрд┐рддрд╛рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рд┐рдирдХреНрд╕рдорд╛ рдбрд╛рдЯрд╛ рд╕рдЩреНрдХрд▓рди рдЧрд░реЗрд░ рддреАрди рдлрд░рдХ рдкреНрд░рдХрд╛рд░рдХрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ (JBoss EAP, JAR рдкреНрдпрд╛рдХреЗрдЬ, рд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп) рдХреЛ рд▓рд╛рдЧрд┐ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдбреЗрдЯрд╛ рдХрд╕рд░реА рддреБрд▓рдирд╛ рдЧрд░реНрдиреЗ рднрдиреЗрд░ рджреЗрдЦрд╛рдЙрдиреЗрдЫреМрдВред
JBoss EAP
рд╣рд╛рдореАрд▓реЗ JBoss EAP рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВ ("рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб рдбрд┐рдкреНрд▓реЛрдЗрдЩ" рдЦрдгреНрдб рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред
$ pgrep -lf jboss
7268 java
рдиреЛрдЯред -a рд╡рд┐рдХрд▓реНрдкрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдкреВрд░реНрдг рдЖрджреЗрд╢ рд░реЗрдЦрд╛ рдирд┐рдХрд╛рд▓реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫ (рдЬрд╕реНрддреИ: $ pgrep -af jboss)ред
рдЕрдм рд╣рд╛рдореА ps рд░ pmap рдЖрджреЗрд╢рд╣рд░реВрдорд╛ PID 7268 рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВред
рдпрд╣рд╛рдБ рдпрд╕рд░реА:
$ ps -o pid,rss,command -p 7268
PID RSS COMMAND
7268 665348 java -D[Standalone] -server -verbose:gc -Xloggc:/home/mrizzi/Tools/jboss-eap-7.2.0/jboss-eap-7.2/standalone/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-TraceClassUnloading -Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferI
рд░ рдпреЛ рдЬрд╕реНрддреИ:
$ pmap -x 7268
7268: java -D[Standalone] -server -verbose:gc -Xloggc:/home/mrizzi/Tools/jboss-eap-7.2.0/jboss-eap-7.2/standalone/log/gc.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=5 -XX:GCLogFileSize=3M -XX:-TraceClassUnloading -Xms1303m -Xmx1303m -XX:MetaspaceSize=96M -XX:MaxMetaspaceSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true -Dorg.jboss.boot.log.file=/home/mrizzi/Tools/jboss-eap-7.2.0/jboss-eap-7.2/standa
Address Kbytes RSS Dirty Mode Mapping
00000000ae800000 1348608 435704 435704 rw--- [ anon ]
0000000100d00000 1035264 0 0 ----- [ anon ]
000055e4d2c2f000 4 4 0 r---- java
000055e4d2c30000 4 4 0 r-x-- java
000055e4d2c31000 4 0 0 r---- java
000055e4d2c32000 4 4 4 r---- java
000055e4d2c33000 4 4 4 rw--- java
[...]
ffffffffff600000 4 0 0 r-x-- [ anon ]
---------------- ------- ------- -------
total kB 3263224 672772 643024
рд╣рд╛рдореА RSS рдорд╛рди рд╣реЗрд░реНрдЫреМрдВ рд░ рджреЗрдЦреНрдЫреМрдВ рдХрд┐ JBoss EAP рд▓реЗ рд▓рдЧрднрдЧ 650 MB рдореЗрдореЛрд░реА рдЦрдкрдд рдЧрд░реНрдЫред
JAR рдкреНрдпрд╛рдХреЗрдЬ
рд╣рд╛рдореАрд▓реЗ JAR рдПрдкреНрд▓рд┐рдХреЗрд╕рди рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВ ("рд░рди рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб рдкреНрдпрд╛рдХреЗрдЬ рдЗрди JAR" рдЦрдгреНрдб рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН
$ java -jar ./target/helloworld-<version>-runner.jar
рдлреЗрд░рд┐ рд╣рд╛рдореА pgrep рдЖрджреЗрд╢ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ PID рд╣реЗрд░реНрдЫреМрдВ (рдпрд╕ рдкрдЯрдХ рд╣рд╛рдореА рдорд╛рдерд┐ рд╡рд░реНрдгрди рдЧрд░рд┐рдПрдХреЛ -a рд╡рд┐рдХрд▓реНрдк рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВ):
$ pgrep -af helloworld
6408 java -jar ./target/helloworld-<version>-runner.jar
рд╣рд╛рдореА рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧ рдорд╛рдкрди рдЧрд░реНрди ps рд░ pmap рдЪрд▓рд╛рдЙрдБрдЫреМрдВ, рддрд░ рдЕрдм рдкреНрд░рдХреНрд░рд┐рдпрд╛ 6408 рдХреЛ рд▓рд╛рдЧреАред
рдпрд╣рд╛рдБ рдпрд╕рд░реА:
$ ps -o pid,rss,command -p 6408
PID RSS COMMAND
6408 125732 java -jar ./target/helloworld-quarkus-runner.jar
рд░ рдпреЛ рдЬрд╕реНрддреИ:
$ pmap -x 6408
6408: java -jar ./target/helloworld-quarkus-runner.jar
Address Kbytes RSS Dirty Mode Mapping
00000005d3200000 337408 0 0 rw--- [ anon ]
00000005e7b80000 5046272 0 0 ----- [ anon ]
000000071bb80000 168448 57576 57576 rw--- [ anon ]
0000000726000000 2523136 0 0 ----- [ anon ]
00000007c0000000 2176 2088 2088 rw--- [ anon ]
00000007c0220000 1046400 0 0 ----- [ anon ]
00005645b85d6000 4 4 0 r---- java
00005645b85d7000 4 4 0 r-x-- java
00005645b85d8000 4 0 0 r---- java
00005645b85d9000 4 4 4 r---- java
00005645b85da000 4 4 4 rw--- java
[...]
ffffffffff600000 4 0 0 r-x-- [ anon ]
---------------- ------- ------- -------
total kB 12421844 133784 115692
рд╣рд╛рдореА рдлреЗрд░рд┐ RSS рд▓рд╛рдИ рд╣реЗрд░реНрдЫреМрдВ рд░ JAR рдкреНрдпрд╛рдХреЗрдЬрд▓реЗ рд▓рдЧрднрдЧ 130 MB рдЦрдкрдд рдЧрд░реЗрдХреЛ рджреЗрдЦреНрдЫреМрдВред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓
рд╣рд╛рдореАрд▓реЗ рдиреЗрдЯрд┐рдн рд╕реБрд░реБ рдЧрд░реНрдЫреМрдВ ("рдиреЗрдЯрд┐рдн рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб рдПрдХреНрдЬреАрдХреНрдпреВрдЯреЗрдмрд▓ рдлрд╛рдЗрд▓ рдЪрд▓рд╛рдЙрдиреЗ" рдЦрдгреНрдб рд╣реЗрд░реНрдиреБрд╣реЛрд╕реН
$ ./target/helloworld-<version>-runner
рдпрд╕рдХреЛ PID рдлреЗрд░рд┐ рд╣реЗрд░реМрдВ:
$ pgrep -af helloworld
6948 ./target/helloworld-<version>-runner
рд░ рддреНрдпрд╕рдкрдЫрд┐ рд╣рд╛рдореА ps рд░ pmap рдЖрджреЗрд╢рд╣рд░реВрдорд╛ рдирддрд┐рдЬрд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛ ID (6948) рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫреМрдВред
рдпрд╣рд╛рдБ рдпрд╕рд░реА:
$ ps -o pid,rss,command -p 6948
PID RSS COMMAND
6948 19084 ./target/helloworld-quarkus-runner
╨Ш ╨▓╨╛╤В ╤В╨░╨║:
$ pmap -x 6948
6948: ./target/helloworld-quarkus-runner
Address Kbytes RSS Dirty Mode Mapping
0000000000400000 12 12 0 r---- helloworld-quarkus-runner
0000000000403000 10736 8368 0 r-x-- helloworld-quarkus-runner
0000000000e7f000 7812 6144 0 r---- helloworld-quarkus-runner
0000000001620000 2024 1448 308 rw--- helloworld-quarkus-runner
000000000181a000 4 4 4 r---- helloworld-quarkus-runner
000000000181b000 16 16 12 rw--- helloworld-quarkus-runner
0000000001e10000 1740 156 156 rw--- [ anon ]
[...]
ffffffffff600000 4 0 0 r-x-- [ anon ]
---------------- ------- ------- -------
total kB 1456800 20592 2684
рд╣рд╛рдореА RSS рд╣реЗрд░реНрдЫреМрдВ рд░ рджреЗрдЦреНрдЫреМрдВ рдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓рд▓реЗ рд▓рдЧрднрдЧ 20 MB рдореЗрдореЛрд░реА рд▓рд┐рдиреНрдЫред
рдореЗрдореЛрд░реА рдЦрдкрдд рддреБрд▓рдирд╛
рддреНрдпрд╕реЛрднрдП, рд╣рд╛рдореАрд▓реЗ рдореЗрдореЛрд░реА рдЙрдкрдпреЛрдЧрдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рдореНрди рдирдореНрдмрд░рд╣рд░реВ рдкрд╛рдпреМрдВ:
- JBoss EAP - 650 MBред
- JAR рдкреНрдпрд╛рдХреЗрдЬ - 130 MBред
- рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓ - 20 рдПрдордмреАред
рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛, рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдпреЛрдЧреНрдп рдлрд╛рдЗрд▓рд▓реЗ рдзреЗрд░реИ рдХрдо рдореЗрдореЛрд░реА рд▓рд┐рдиреНрдЫред
рдкреЛрд╖реНрдЯ рек рд░ рел рд▓рд╛рдИ рд╕рдВрдХреНрд╖реЗрдк рдЧрд░реМрдВ
рдпреЛ рд░ рдЕрдШрд┐рд▓реНрд▓реЛ рдкреЛрд╖реНрдЯрд╣рд░реВрдорд╛, рд╣рд╛рдореАрд▓реЗ рдХреНрд╡рд╛рд░реНрдХрд╕ (CDI рд░ Servlet 3) рдорд╛ рд╕рдорд░реНрдерд┐рдд рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреАрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЬрд╛рднрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрд▓рд╛рдИ рдЖрдзреБрдирд┐рдХреАрдХрд░рдг рдЧрд░реНрдиреЗ, рд╕рд╛рдереИ рддреНрдпрд╕реНрддрд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рд╡рд┐рдХрд╛рд╕, рдирд┐рд░реНрдорд╛рдг рд░ рдЪрд▓рд╛рдЙрдиреЗ рд╡рд┐рднрд┐рдиреНрди рддрд░рд┐рдХрд╛рд╣рд░реВ рд╣реЗрд░реЗрдХрд╛ рдерд┐рдпреМрдВред рд╣рд╛рдореАрд▓реЗ рдпрд╕реНрддреЛ рд╕реНрддрд░рд╡реГрджреНрдзрд┐рджреНрд╡рд╛рд░рд╛ рд╣рд╛рд╕рд┐рд▓ рдЧрд░рд┐рдПрдХрд╛ рд╕реБрдзрд╛рд░рд╣рд░реВрдХреЛ рдореВрд▓реНрдпрд╛рдЩреНрдХрди рдЧрд░реНрди рдореЗрдореЛрд░реА рдкреНрд░рдпреЛрдЧ рдбрд╛рдЯрд╛ рдХрд╕рд░реА рд╕рдЩреНрдХрд▓рди рдЧрд░реНрдиреЗ рднрдиреЗрд░ рджреЗрдЦрд╛рдпреМрдВред рдпреА рд▓реЗрдЦрд╣рд░реВрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдХреНрд╡рд╛рд░реНрдХрд╕рд▓реЗ рдХрд╕рд░реА рдХрд╛рдо рдЧрд░реНрдЫ рд░ рдпреЛ рдХрд┐рди рдЙрдкрдпреЛрдЧреА рдЫ рднрдиреНрдиреЗ рдХреБрд░рд╛ рдмреБрдЭреНрди рдорджреНрджрдд рдЧрд░реНрдЫтАФрдЪрд╛рд╣реЗ рддрдкрд╛рдИрдВ рд╣рд╛рдореНрд░рд╛ рдЙрджрд╛рд╣рд░рдгрд╣рд░реВрдорд╛ рд╕рд╛рдорд╛рдиреНрдп рд╣реЗрд▓реЛрд╡рд░реНрд▓реНрдб рдХрд╛рд░реНрдпрдХреНрд░рдордХреЛ рдмрд╛рд░реЗрдорд╛ рдХреБрд░рд╛ рдЧрд░реНрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ рд╡рд╛ рдзреЗрд░реИ рдЬрдЯрд┐рд▓ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВред
рд╣рд╛рдореА рдХреНрд╡рд╛рд░реНрдХрд╕рдХреЛ рдмрд╛рд░реЗрдорд╛ рдЕрдиреНрддрд┐рдо рдкреЛрд╕реНрдЯрдХреЛ рд╕рд╛рде рджреБрдИ рд╣рдкреНрддрд╛рдорд╛ рдлрд░реНрдХрдиреЗрдЫреМрдВ - рддреНрдпрд╣рд╛рдБ рднреЗрдЯреМрдВрд▓рд╛!
рд╣рд╛рдореНрд░реЛ рдЕрдиреНрддрд┐рдо рдкреЛрд╕реНрдЯрдорд╛, рд╣рд╛рдореА рджреБрдИ рдирдпрд╛рдБ рд╕рдиреНрджреЗрд╢ рдкреНрд░рд╡рд┐рдзрд┐рд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЖрдзреБрдирд┐рдХ OpenShift-рдЖрдзрд╛рд░рд┐рдд рд╕рдиреНрджреЗрд╢ рдкреНрд░рдгрд╛рд▓реА рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрди AMQ рдЕрдирд▓рд╛рдЗрди рд░ рдХреНрд╡рд╛рд░реНрдХрд╕рд▓рд╛рдИ рдХрд╕рд░реА рд╕рдВрдпреЛрдЬрди рдЧрд░реНрдиреЗ рднрдиреЗрд░ рджреЗрдЦрд╛рдЙрдиреЗрдЫреМрдВред рдкрдвреНрдиреБрд╣реЛрд╕реН
рд╕реНрд░реЛрдд: www.habr.com