Салом ба ҳама - ин паёми панҷум дар силсилаи Quarkus мост! (Дар омади гап, вебинари моро тамошо кунед
В
Андозагирии самаранокӣ асоси асосии қариб ҳама гуна навсозӣ мебошад ва гузоришдиҳии истифодаи хотира як қисми муҳими раванди таҳлили фаъолият мебошад. Имрӯз мо асбобҳои мувофиқи андозагириро дида мебароем, ки онҳоро метавон барои муайян кардани беҳбудиҳое, ки тавассути модернизатсияи барномаҳои Java ба даст оварда шудааст, истифода барем.
Барои маълумоти бештар дар бораи ченкунии истифодаи хотира, ба дастури Quarkus нигаред
Дар зер мо ба шумо танҳо нишон медиҳем, ки чӣ тавр муқоиса кардани маълумоти истифодаи хотираро барои се намуди гуногуни барномаҳо (JBoss EAP, бастаи JAR ва иҷрошаванда) тавассути ҷамъоварии маълумот дар Linux бо истифода аз pmap ва ps utilities.
JBoss EAP
Мо як намунаи барномаи JBoss EAP -ро оғоз мекунем (ниг. ба бахши "Тасдиқи helloworld" дар
$ pgrep -lf jboss
7268 java
Эзоҳ: Опсияи –a ба шумо имкон медиҳад, ки сатри пурраи фармонро хориҷ кунед (яъне: $ pgrep -af jboss).
Ҳоло мо PID 7268-ро дар фармонҳои ps ва pmap истифода мебарем.
Ин аст:
$ 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 МБ хотираро истеъмол мекунад.
бастаи JAR
Мо замимаи JAR-ро оғоз мекунем (нигаред ба бахши "Иҷроиши helloworld дар 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 МБ истеъмол мекунад.
Файли иҷрошаванда
Мо нусхаи аслиро оғоз мекунем (нигаред ба бахши "Иҷроиши файли иҷрошавандаи helloworld маҳаллӣ" дар
$ ./target/helloworld-<version>-runner
Биёед бори дигар ба PID-и он назар андозем:
$ pgrep -af helloworld
6948 ./target/helloworld-<version>-runner
Ва он гоҳ мо ID-и раванди натиҷаро (6948) дар фармонҳои ps ва pmap истифода мебарем.
Ин аст:
$ 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 МБ хотираро мегирад.
Муқоисаи истеъмоли хотира
Ҳамин тавр, мо рақамҳои зеринро барои истифодаи хотира гирифтем:
- JBoss EAP - 650 МБ.
- Бастаи JAR - 130 MB.
- Файли иҷрошаванда - 20 MB.
Аён аст, ки файли иҷрошаванда хотираи камтарро мегирад.
Биёед мақолаҳои 4 ва 5-ро ҷамъбаст кунем
Дар ин ва мақолаҳои қаблӣ мо модернизатсияи замимаҳои Java-ро бо истифода аз технологияҳои дар Quarkus дастгирӣшаванда (CDI ва Servlet 3), инчунин роҳҳои гуногуни таҳия, сохтан ва иҷро кардани чунин барномаҳо дида баромадем. Мо нишон додем, ки чӣ тавр ҷамъ овардани маълумоти истифодаи хотираро барои арзёбии беҳбудиҳо тавассути чунин навсозӣ ба даст овардаем. Ин мақолаҳо ба шумо кӯмак мекунанд, ки Quarkus чӣ гуна кор мекунад ва чаро он муфид аст - хоҳ шумо дар бораи барномаи оддии helloworld дар мисолҳои мо гап мезанед ё барномаҳои мураккабтари ҳаёти воқеӣ.
Мо пас аз ду ҳафта бо як паёми ниҳоӣ дар бораи Кваркус бармегардем - дар он ҷо вомехӯрем!
Дар паёми ниҳоии худ, мо нишон медиҳем, ки чӣ тавр якҷоя кардани AMQ Online ва Quarkus барои сохтани як системаи муосири паёмнависии бар OpenShift бо истифода аз ду технологияи нави паёмнависӣ. Бихонед
Манбаъ: will.com